<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>[基础]经典JavaScript(ECMA5) | Note</title>
    <meta name="generator" content="VuePress 1.5.2">
    <link rel="icon" href="https://luo0412.gitee.io/static/images/logo/favicon.ico">
    <script>((window.gitter = {}).chat = {}).options = {
    room: 'luo0412/note'
};
</script>
    <script src="https://sidecar.gitter.im/dist/sidecar.v1.js"></script>
    <script src="https://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>$(function () {

    $(".navbar .dropdown-wrapper .title").each(function (index, item) {
        var title = $(item).text() || ""
        console.log(title)
        var index = title.indexOf("(")
        if (index > -1) {
            $(item).text(title.slice(0, index))
        }
    })

})</script>
    <meta name="description" content="Note">
    <link rel="preload" href="/note/assets/css/0.styles.053a9293.css" as="style"><link rel="preload" href="/note/assets/js/app.0dd55c60.js" as="script"><link rel="preload" href="/note/assets/js/2.b5bc497d.js" as="script"><link rel="preload" href="/note/assets/js/641.c8cf064e.js" as="script"><link rel="prefetch" href="/note/assets/js/10.6fabb1c3.js"><link rel="prefetch" href="/note/assets/js/100.ca78b159.js"><link rel="prefetch" href="/note/assets/js/1000.2010a4d6.js"><link rel="prefetch" href="/note/assets/js/1001.547fb6ca.js"><link rel="prefetch" href="/note/assets/js/1002.13127f5c.js"><link rel="prefetch" href="/note/assets/js/1003.13b94044.js"><link rel="prefetch" href="/note/assets/js/1004.d394010c.js"><link rel="prefetch" href="/note/assets/js/1005.373b866d.js"><link rel="prefetch" href="/note/assets/js/1006.a902ad1e.js"><link rel="prefetch" href="/note/assets/js/1007.c89095b6.js"><link rel="prefetch" href="/note/assets/js/1008.89f33664.js"><link rel="prefetch" href="/note/assets/js/1009.78fac62f.js"><link rel="prefetch" href="/note/assets/js/101.10b4c74a.js"><link rel="prefetch" href="/note/assets/js/1010.143517ab.js"><link rel="prefetch" href="/note/assets/js/1011.ee571f7a.js"><link rel="prefetch" href="/note/assets/js/1012.594bad31.js"><link rel="prefetch" href="/note/assets/js/1013.8150e2dc.js"><link rel="prefetch" href="/note/assets/js/1014.e24c65b8.js"><link rel="prefetch" href="/note/assets/js/1015.8c135bbb.js"><link rel="prefetch" href="/note/assets/js/1016.1b44b450.js"><link rel="prefetch" href="/note/assets/js/1017.42a63721.js"><link rel="prefetch" href="/note/assets/js/1018.4e8e324d.js"><link rel="prefetch" href="/note/assets/js/1019.903fbd1f.js"><link rel="prefetch" href="/note/assets/js/102.dbdeb232.js"><link rel="prefetch" href="/note/assets/js/1020.6123bb78.js"><link rel="prefetch" href="/note/assets/js/1021.d6b4a6a4.js"><link rel="prefetch" href="/note/assets/js/1022.f770d2ec.js"><link rel="prefetch" href="/note/assets/js/1023.c6bd33f4.js"><link rel="prefetch" href="/note/assets/js/1024.0709f017.js"><link rel="prefetch" href="/note/assets/js/1025.e7dc6826.js"><link rel="prefetch" href="/note/assets/js/1026.5e3bd6fb.js"><link rel="prefetch" href="/note/assets/js/1027.71af8bdf.js"><link rel="prefetch" href="/note/assets/js/1028.9e3feda2.js"><link rel="prefetch" href="/note/assets/js/1029.fe125d3a.js"><link rel="prefetch" href="/note/assets/js/103.5b80db7c.js"><link rel="prefetch" href="/note/assets/js/1030.cce3af0b.js"><link rel="prefetch" href="/note/assets/js/1031.7620a746.js"><link rel="prefetch" href="/note/assets/js/1032.f5e9fc6b.js"><link rel="prefetch" href="/note/assets/js/1033.5517f372.js"><link rel="prefetch" href="/note/assets/js/1034.f6b88521.js"><link rel="prefetch" href="/note/assets/js/1035.43beba3c.js"><link rel="prefetch" href="/note/assets/js/1036.0a00691e.js"><link rel="prefetch" href="/note/assets/js/1037.ddaf7ca4.js"><link rel="prefetch" href="/note/assets/js/1038.77dcd7e6.js"><link rel="prefetch" href="/note/assets/js/1039.aa331d08.js"><link rel="prefetch" href="/note/assets/js/104.921f7ab6.js"><link rel="prefetch" href="/note/assets/js/1040.9c5cfa93.js"><link rel="prefetch" href="/note/assets/js/1041.d5fc22d0.js"><link rel="prefetch" href="/note/assets/js/1042.09e99061.js"><link rel="prefetch" href="/note/assets/js/1043.92e87dc8.js"><link rel="prefetch" href="/note/assets/js/1044.9ccabd7b.js"><link rel="prefetch" href="/note/assets/js/1045.896a4b98.js"><link rel="prefetch" href="/note/assets/js/1046.b1f6cfac.js"><link rel="prefetch" href="/note/assets/js/1047.065af830.js"><link rel="prefetch" href="/note/assets/js/1048.dc4b2fd1.js"><link rel="prefetch" href="/note/assets/js/1049.507b1958.js"><link rel="prefetch" href="/note/assets/js/105.4ff40edb.js"><link rel="prefetch" href="/note/assets/js/1050.66a632d0.js"><link rel="prefetch" href="/note/assets/js/1051.c09f6ff9.js"><link rel="prefetch" href="/note/assets/js/1052.62215f23.js"><link rel="prefetch" href="/note/assets/js/1053.3c227068.js"><link rel="prefetch" href="/note/assets/js/1054.fbbe89a8.js"><link rel="prefetch" href="/note/assets/js/1055.80e7ecea.js"><link rel="prefetch" href="/note/assets/js/1056.d82ada06.js"><link rel="prefetch" href="/note/assets/js/1057.60a0bdfd.js"><link rel="prefetch" href="/note/assets/js/1058.1f491202.js"><link rel="prefetch" href="/note/assets/js/1059.61fc043f.js"><link rel="prefetch" href="/note/assets/js/106.8771ad69.js"><link rel="prefetch" href="/note/assets/js/1060.1d7e58ea.js"><link rel="prefetch" href="/note/assets/js/1061.3bdaf7cf.js"><link rel="prefetch" href="/note/assets/js/1062.33ce75a4.js"><link rel="prefetch" href="/note/assets/js/1063.3323f398.js"><link rel="prefetch" href="/note/assets/js/1064.98791386.js"><link rel="prefetch" href="/note/assets/js/1065.fc879866.js"><link rel="prefetch" href="/note/assets/js/1066.d00759bc.js"><link rel="prefetch" href="/note/assets/js/1067.a03311b1.js"><link rel="prefetch" href="/note/assets/js/1068.6e98deee.js"><link rel="prefetch" href="/note/assets/js/1069.92f11b62.js"><link rel="prefetch" href="/note/assets/js/107.4f6b83a9.js"><link rel="prefetch" href="/note/assets/js/1070.abfaf2ea.js"><link rel="prefetch" href="/note/assets/js/1071.a85c44cd.js"><link rel="prefetch" href="/note/assets/js/1072.ee20bbd2.js"><link rel="prefetch" href="/note/assets/js/1073.98af18ae.js"><link rel="prefetch" href="/note/assets/js/1074.ddc98cb2.js"><link rel="prefetch" href="/note/assets/js/1075.b090a6bb.js"><link rel="prefetch" href="/note/assets/js/1076.fc3441b8.js"><link rel="prefetch" href="/note/assets/js/1077.937cb3f1.js"><link rel="prefetch" href="/note/assets/js/1078.0266a077.js"><link rel="prefetch" href="/note/assets/js/1079.c9ca42d2.js"><link rel="prefetch" href="/note/assets/js/108.ce771ea1.js"><link rel="prefetch" href="/note/assets/js/1080.5f9607c7.js"><link rel="prefetch" href="/note/assets/js/1081.18be07bc.js"><link rel="prefetch" href="/note/assets/js/1082.b1408a25.js"><link rel="prefetch" href="/note/assets/js/1083.b7acb322.js"><link rel="prefetch" href="/note/assets/js/1084.2cc1b6cc.js"><link rel="prefetch" href="/note/assets/js/1085.523883b5.js"><link rel="prefetch" href="/note/assets/js/1086.391500e3.js"><link rel="prefetch" href="/note/assets/js/1087.b0708074.js"><link rel="prefetch" href="/note/assets/js/1088.651139c5.js"><link rel="prefetch" href="/note/assets/js/1089.b22da811.js"><link rel="prefetch" href="/note/assets/js/109.5fcf88af.js"><link rel="prefetch" href="/note/assets/js/1090.fb57f50a.js"><link rel="prefetch" href="/note/assets/js/1091.c39361b0.js"><link rel="prefetch" href="/note/assets/js/1092.243d3ae1.js"><link rel="prefetch" href="/note/assets/js/1093.0648887d.js"><link rel="prefetch" href="/note/assets/js/1094.7374be31.js"><link rel="prefetch" href="/note/assets/js/1095.dc127610.js"><link rel="prefetch" href="/note/assets/js/1096.b2519d06.js"><link rel="prefetch" href="/note/assets/js/1097.88477c5e.js"><link rel="prefetch" href="/note/assets/js/1098.2454c560.js"><link rel="prefetch" href="/note/assets/js/1099.4986b8a1.js"><link rel="prefetch" href="/note/assets/js/11.a2bdeb4a.js"><link rel="prefetch" href="/note/assets/js/110.4903bf80.js"><link rel="prefetch" href="/note/assets/js/1100.67ef7a27.js"><link rel="prefetch" href="/note/assets/js/1101.47ad6cbb.js"><link rel="prefetch" href="/note/assets/js/1102.bd298310.js"><link rel="prefetch" href="/note/assets/js/1103.72dbd5a9.js"><link rel="prefetch" href="/note/assets/js/1104.18f0cee6.js"><link rel="prefetch" href="/note/assets/js/1105.9cdc2216.js"><link rel="prefetch" href="/note/assets/js/1106.5e5af1d9.js"><link rel="prefetch" href="/note/assets/js/1107.732b8cd2.js"><link rel="prefetch" href="/note/assets/js/1108.f159f2c9.js"><link rel="prefetch" href="/note/assets/js/1109.c7e02cc2.js"><link rel="prefetch" href="/note/assets/js/111.398b3066.js"><link rel="prefetch" href="/note/assets/js/1110.14723455.js"><link rel="prefetch" href="/note/assets/js/1111.c9b98b7b.js"><link rel="prefetch" href="/note/assets/js/1112.62c492c5.js"><link rel="prefetch" href="/note/assets/js/1113.c2d30318.js"><link rel="prefetch" href="/note/assets/js/1114.3705072c.js"><link rel="prefetch" href="/note/assets/js/1115.40d964de.js"><link rel="prefetch" href="/note/assets/js/1116.61e4cead.js"><link rel="prefetch" href="/note/assets/js/1117.805b5813.js"><link rel="prefetch" href="/note/assets/js/1118.0d83619f.js"><link rel="prefetch" href="/note/assets/js/1119.de589ac3.js"><link rel="prefetch" href="/note/assets/js/112.e741b8c0.js"><link rel="prefetch" href="/note/assets/js/1120.734fc1a1.js"><link rel="prefetch" href="/note/assets/js/1121.2880a778.js"><link rel="prefetch" href="/note/assets/js/1122.1c15d9e8.js"><link rel="prefetch" href="/note/assets/js/1123.2b751972.js"><link rel="prefetch" href="/note/assets/js/1124.c80a5692.js"><link rel="prefetch" href="/note/assets/js/1125.4c8769df.js"><link rel="prefetch" href="/note/assets/js/1126.07bd1fab.js"><link rel="prefetch" href="/note/assets/js/1127.1f2d410e.js"><link rel="prefetch" href="/note/assets/js/1128.a3589bd1.js"><link rel="prefetch" href="/note/assets/js/1129.07b3793f.js"><link rel="prefetch" href="/note/assets/js/113.d0897f33.js"><link rel="prefetch" href="/note/assets/js/1130.688fc7ea.js"><link rel="prefetch" href="/note/assets/js/1131.08eea929.js"><link rel="prefetch" href="/note/assets/js/1132.0e78cf2c.js"><link rel="prefetch" href="/note/assets/js/1133.7f1b2ff2.js"><link rel="prefetch" href="/note/assets/js/1134.6af47f09.js"><link rel="prefetch" href="/note/assets/js/1135.f78f8323.js"><link rel="prefetch" href="/note/assets/js/1136.20e78f72.js"><link rel="prefetch" href="/note/assets/js/1137.83d093e5.js"><link rel="prefetch" href="/note/assets/js/1138.de6c1eda.js"><link rel="prefetch" href="/note/assets/js/1139.fb3e8147.js"><link rel="prefetch" href="/note/assets/js/114.03fde2cb.js"><link rel="prefetch" href="/note/assets/js/1140.363ad3ba.js"><link rel="prefetch" href="/note/assets/js/1141.c3d4f0b5.js"><link rel="prefetch" href="/note/assets/js/1142.a1c1fdbd.js"><link rel="prefetch" href="/note/assets/js/1143.a1aa3881.js"><link rel="prefetch" href="/note/assets/js/1144.e14942c6.js"><link rel="prefetch" href="/note/assets/js/1145.58641277.js"><link rel="prefetch" href="/note/assets/js/1146.282bcca7.js"><link rel="prefetch" href="/note/assets/js/1147.55f82bc9.js"><link rel="prefetch" href="/note/assets/js/1148.aa36479d.js"><link rel="prefetch" href="/note/assets/js/1149.ce5ddb53.js"><link rel="prefetch" href="/note/assets/js/115.3a676795.js"><link rel="prefetch" href="/note/assets/js/1150.e89dbdf2.js"><link rel="prefetch" href="/note/assets/js/1151.992dbe84.js"><link rel="prefetch" href="/note/assets/js/1152.02847c4f.js"><link rel="prefetch" href="/note/assets/js/1153.d1834115.js"><link rel="prefetch" href="/note/assets/js/1154.c1ab05b2.js"><link rel="prefetch" href="/note/assets/js/1155.623f4c45.js"><link rel="prefetch" href="/note/assets/js/1156.b942b6e3.js"><link rel="prefetch" href="/note/assets/js/1157.afab23b3.js"><link rel="prefetch" href="/note/assets/js/1158.01c0ad53.js"><link rel="prefetch" href="/note/assets/js/1159.ac06ac23.js"><link rel="prefetch" href="/note/assets/js/116.6912c191.js"><link rel="prefetch" href="/note/assets/js/1160.b3f513a9.js"><link rel="prefetch" href="/note/assets/js/1161.868353a8.js"><link rel="prefetch" href="/note/assets/js/1162.eba72333.js"><link rel="prefetch" href="/note/assets/js/1163.62fab1df.js"><link rel="prefetch" href="/note/assets/js/1164.e3d60985.js"><link rel="prefetch" href="/note/assets/js/1165.c306fa09.js"><link rel="prefetch" href="/note/assets/js/1166.17af913b.js"><link rel="prefetch" href="/note/assets/js/1167.31a83191.js"><link rel="prefetch" href="/note/assets/js/1168.6b5b2ef1.js"><link rel="prefetch" href="/note/assets/js/1169.a89176af.js"><link rel="prefetch" href="/note/assets/js/117.1ae6cfb1.js"><link rel="prefetch" href="/note/assets/js/1170.5eab09b7.js"><link rel="prefetch" href="/note/assets/js/1171.117f12a2.js"><link rel="prefetch" href="/note/assets/js/1172.0ace466a.js"><link rel="prefetch" href="/note/assets/js/1173.9eeb506b.js"><link rel="prefetch" href="/note/assets/js/1174.45e24809.js"><link rel="prefetch" href="/note/assets/js/1175.4c4ed2f1.js"><link rel="prefetch" href="/note/assets/js/1176.79037cf2.js"><link rel="prefetch" href="/note/assets/js/1177.80628f3d.js"><link rel="prefetch" href="/note/assets/js/1178.ce2b26d0.js"><link rel="prefetch" href="/note/assets/js/1179.b62d19b0.js"><link rel="prefetch" href="/note/assets/js/118.eea198fb.js"><link rel="prefetch" href="/note/assets/js/1180.1186a2d9.js"><link rel="prefetch" href="/note/assets/js/1181.1c8ea8c7.js"><link rel="prefetch" href="/note/assets/js/1182.44343855.js"><link rel="prefetch" href="/note/assets/js/1183.20760ae8.js"><link rel="prefetch" href="/note/assets/js/1184.1bda9a33.js"><link rel="prefetch" href="/note/assets/js/1185.07614e12.js"><link rel="prefetch" href="/note/assets/js/1186.65cc1f74.js"><link rel="prefetch" href="/note/assets/js/1187.0de9ca21.js"><link rel="prefetch" href="/note/assets/js/1188.509993a2.js"><link rel="prefetch" href="/note/assets/js/1189.141a26ea.js"><link rel="prefetch" href="/note/assets/js/119.db88fa5b.js"><link rel="prefetch" href="/note/assets/js/1190.225e373b.js"><link rel="prefetch" href="/note/assets/js/1191.f5a93566.js"><link rel="prefetch" href="/note/assets/js/1192.21d00e9e.js"><link rel="prefetch" href="/note/assets/js/1193.e3de4f19.js"><link rel="prefetch" href="/note/assets/js/1194.49bd4c84.js"><link rel="prefetch" href="/note/assets/js/1195.d2c22fbd.js"><link rel="prefetch" href="/note/assets/js/1196.840061e5.js"><link rel="prefetch" href="/note/assets/js/1197.cafffde2.js"><link rel="prefetch" href="/note/assets/js/1198.bca205d4.js"><link rel="prefetch" href="/note/assets/js/1199.08f14949.js"><link rel="prefetch" href="/note/assets/js/12.3d8ef1bf.js"><link rel="prefetch" href="/note/assets/js/120.5562fbd2.js"><link rel="prefetch" href="/note/assets/js/1200.7b1808d8.js"><link rel="prefetch" href="/note/assets/js/1201.75363dc0.js"><link rel="prefetch" href="/note/assets/js/1202.f2277149.js"><link rel="prefetch" href="/note/assets/js/1203.e71bfd8f.js"><link rel="prefetch" href="/note/assets/js/1204.e1047970.js"><link rel="prefetch" href="/note/assets/js/1205.6e203c72.js"><link rel="prefetch" href="/note/assets/js/1206.879b33b2.js"><link rel="prefetch" href="/note/assets/js/1207.af1092d2.js"><link rel="prefetch" href="/note/assets/js/1208.21914220.js"><link rel="prefetch" href="/note/assets/js/1209.8c68ac38.js"><link rel="prefetch" href="/note/assets/js/121.a23f4b45.js"><link rel="prefetch" href="/note/assets/js/1210.95cf793f.js"><link rel="prefetch" href="/note/assets/js/1211.0c58d784.js"><link rel="prefetch" href="/note/assets/js/1212.8c3a7008.js"><link rel="prefetch" href="/note/assets/js/1213.0667b965.js"><link rel="prefetch" href="/note/assets/js/1214.d23c8ab9.js"><link rel="prefetch" href="/note/assets/js/1215.f4fb6cd2.js"><link rel="prefetch" href="/note/assets/js/1216.c8bcf16d.js"><link rel="prefetch" href="/note/assets/js/1217.21d9aec3.js"><link rel="prefetch" href="/note/assets/js/1218.84462b85.js"><link rel="prefetch" href="/note/assets/js/1219.d87095d3.js"><link rel="prefetch" href="/note/assets/js/122.b70cba01.js"><link rel="prefetch" href="/note/assets/js/1220.b8ec23c0.js"><link rel="prefetch" href="/note/assets/js/1221.6798a9d0.js"><link rel="prefetch" href="/note/assets/js/1222.63979b25.js"><link rel="prefetch" href="/note/assets/js/1223.18b257b2.js"><link rel="prefetch" href="/note/assets/js/1224.7606e555.js"><link rel="prefetch" href="/note/assets/js/1225.ff81c865.js"><link rel="prefetch" href="/note/assets/js/1226.2060802c.js"><link rel="prefetch" href="/note/assets/js/1227.5a3c9422.js"><link rel="prefetch" href="/note/assets/js/1228.835a0342.js"><link rel="prefetch" href="/note/assets/js/1229.c4a79c2f.js"><link rel="prefetch" href="/note/assets/js/123.038a8402.js"><link rel="prefetch" href="/note/assets/js/1230.08e09410.js"><link rel="prefetch" href="/note/assets/js/1231.65055dfc.js"><link rel="prefetch" href="/note/assets/js/1232.c2cea8c6.js"><link rel="prefetch" href="/note/assets/js/1233.f34c38ce.js"><link rel="prefetch" href="/note/assets/js/1234.5db3f0c9.js"><link rel="prefetch" href="/note/assets/js/1235.94e20fd3.js"><link rel="prefetch" href="/note/assets/js/1236.49aa8556.js"><link rel="prefetch" href="/note/assets/js/1237.f7d77518.js"><link rel="prefetch" href="/note/assets/js/1238.a43df43d.js"><link rel="prefetch" href="/note/assets/js/1239.7f08216b.js"><link rel="prefetch" href="/note/assets/js/124.d2d86050.js"><link rel="prefetch" href="/note/assets/js/1240.6c65a884.js"><link rel="prefetch" href="/note/assets/js/1241.cc704031.js"><link rel="prefetch" href="/note/assets/js/1242.0da8dd18.js"><link rel="prefetch" href="/note/assets/js/1243.2726a72f.js"><link rel="prefetch" href="/note/assets/js/1244.93d7dd75.js"><link rel="prefetch" href="/note/assets/js/1245.2acfcf81.js"><link rel="prefetch" href="/note/assets/js/1246.5cd95fd2.js"><link rel="prefetch" href="/note/assets/js/1247.0d25e544.js"><link rel="prefetch" href="/note/assets/js/1248.d34e7c0a.js"><link rel="prefetch" href="/note/assets/js/1249.26a564fb.js"><link rel="prefetch" href="/note/assets/js/125.7b917335.js"><link rel="prefetch" href="/note/assets/js/1250.ad0a87e9.js"><link rel="prefetch" href="/note/assets/js/1251.46820e88.js"><link rel="prefetch" href="/note/assets/js/1252.496c2e7c.js"><link rel="prefetch" href="/note/assets/js/1253.494a47da.js"><link rel="prefetch" href="/note/assets/js/1254.91e792fe.js"><link rel="prefetch" href="/note/assets/js/1255.70b900dc.js"><link rel="prefetch" href="/note/assets/js/1256.7665d7b3.js"><link rel="prefetch" href="/note/assets/js/1257.4f68b935.js"><link rel="prefetch" href="/note/assets/js/1258.f3bb3eff.js"><link rel="prefetch" href="/note/assets/js/1259.300b0e45.js"><link rel="prefetch" href="/note/assets/js/126.1fdad05d.js"><link rel="prefetch" href="/note/assets/js/1260.00772dfc.js"><link rel="prefetch" href="/note/assets/js/1261.1701f1e3.js"><link rel="prefetch" href="/note/assets/js/1262.cb45462e.js"><link rel="prefetch" href="/note/assets/js/1263.92086e9c.js"><link rel="prefetch" href="/note/assets/js/1264.588b3665.js"><link rel="prefetch" href="/note/assets/js/1265.fe0f182b.js"><link rel="prefetch" href="/note/assets/js/1266.81501190.js"><link rel="prefetch" href="/note/assets/js/1267.53501631.js"><link rel="prefetch" href="/note/assets/js/1268.a6be80bf.js"><link rel="prefetch" href="/note/assets/js/1269.0d466638.js"><link rel="prefetch" href="/note/assets/js/127.5ac7a207.js"><link rel="prefetch" href="/note/assets/js/1270.03f9ff41.js"><link rel="prefetch" href="/note/assets/js/1271.4dd1bef4.js"><link rel="prefetch" href="/note/assets/js/1272.e1998639.js"><link rel="prefetch" href="/note/assets/js/1273.9e9fab98.js"><link rel="prefetch" href="/note/assets/js/1274.869f80cd.js"><link rel="prefetch" href="/note/assets/js/1275.4990c964.js"><link rel="prefetch" href="/note/assets/js/1276.cd9564fa.js"><link rel="prefetch" href="/note/assets/js/1277.c71cf35d.js"><link rel="prefetch" href="/note/assets/js/1278.eeaaff73.js"><link rel="prefetch" href="/note/assets/js/1279.a44da38c.js"><link rel="prefetch" href="/note/assets/js/128.fec80845.js"><link rel="prefetch" href="/note/assets/js/1280.f5442c41.js"><link rel="prefetch" href="/note/assets/js/1281.899e8f39.js"><link rel="prefetch" href="/note/assets/js/1282.8f1302e5.js"><link rel="prefetch" href="/note/assets/js/1283.51993217.js"><link rel="prefetch" href="/note/assets/js/1284.818667b9.js"><link rel="prefetch" href="/note/assets/js/1285.8503d46a.js"><link rel="prefetch" href="/note/assets/js/1286.381dafd1.js"><link rel="prefetch" href="/note/assets/js/1287.ef7e3c0d.js"><link rel="prefetch" href="/note/assets/js/1288.38c743f7.js"><link rel="prefetch" href="/note/assets/js/1289.6632bd2d.js"><link rel="prefetch" href="/note/assets/js/129.24aea0ed.js"><link rel="prefetch" href="/note/assets/js/1290.6a1cd0bf.js"><link rel="prefetch" href="/note/assets/js/1291.930e70cb.js"><link rel="prefetch" href="/note/assets/js/1292.8eab8d1f.js"><link rel="prefetch" href="/note/assets/js/1293.b93cbe46.js"><link rel="prefetch" href="/note/assets/js/1294.7736188e.js"><link rel="prefetch" href="/note/assets/js/1295.a01cad2d.js"><link rel="prefetch" href="/note/assets/js/1296.317f87cf.js"><link rel="prefetch" href="/note/assets/js/1297.8d47977d.js"><link rel="prefetch" href="/note/assets/js/1298.c16d82ee.js"><link rel="prefetch" href="/note/assets/js/1299.8e91471f.js"><link rel="prefetch" href="/note/assets/js/13.90c97bb0.js"><link rel="prefetch" href="/note/assets/js/130.5e476c74.js"><link rel="prefetch" href="/note/assets/js/1300.60248b2a.js"><link rel="prefetch" href="/note/assets/js/1301.30bca9b9.js"><link rel="prefetch" href="/note/assets/js/1302.1e0bb985.js"><link rel="prefetch" href="/note/assets/js/1303.f327fef4.js"><link rel="prefetch" href="/note/assets/js/1304.3e88410e.js"><link rel="prefetch" href="/note/assets/js/1305.f77ec4c5.js"><link rel="prefetch" href="/note/assets/js/1306.99e2814f.js"><link rel="prefetch" href="/note/assets/js/1307.164918b4.js"><link rel="prefetch" href="/note/assets/js/1308.5f27d42e.js"><link rel="prefetch" href="/note/assets/js/1309.1bfafce9.js"><link rel="prefetch" href="/note/assets/js/131.d5b3e315.js"><link rel="prefetch" href="/note/assets/js/1310.fa971681.js"><link rel="prefetch" href="/note/assets/js/1311.f82d3cc1.js"><link rel="prefetch" href="/note/assets/js/1312.8523405a.js"><link rel="prefetch" href="/note/assets/js/1313.b89e9958.js"><link rel="prefetch" href="/note/assets/js/1314.459fd2e8.js"><link rel="prefetch" href="/note/assets/js/1315.ffa77e00.js"><link rel="prefetch" href="/note/assets/js/1316.71803c4e.js"><link rel="prefetch" href="/note/assets/js/1317.0d562c71.js"><link rel="prefetch" href="/note/assets/js/1318.cea0d0e7.js"><link rel="prefetch" href="/note/assets/js/1319.db717e8e.js"><link rel="prefetch" href="/note/assets/js/132.cb75bf5f.js"><link rel="prefetch" href="/note/assets/js/1320.da453d4c.js"><link rel="prefetch" href="/note/assets/js/1321.b7d04a3e.js"><link rel="prefetch" href="/note/assets/js/1322.488d9dc4.js"><link rel="prefetch" href="/note/assets/js/1323.afa96955.js"><link rel="prefetch" href="/note/assets/js/1324.ebfcaa9a.js"><link rel="prefetch" href="/note/assets/js/1325.59078cd0.js"><link rel="prefetch" href="/note/assets/js/1326.c43aa349.js"><link rel="prefetch" href="/note/assets/js/1327.1ac02e72.js"><link rel="prefetch" href="/note/assets/js/1328.690533d8.js"><link rel="prefetch" href="/note/assets/js/1329.b1a47d5a.js"><link rel="prefetch" href="/note/assets/js/133.3873ed89.js"><link rel="prefetch" href="/note/assets/js/1330.50528b01.js"><link rel="prefetch" href="/note/assets/js/1331.8cc7da6c.js"><link rel="prefetch" href="/note/assets/js/1332.7eac4760.js"><link rel="prefetch" href="/note/assets/js/1333.d1e1c6c0.js"><link rel="prefetch" href="/note/assets/js/1334.1d4cffe4.js"><link rel="prefetch" href="/note/assets/js/1335.4c9c89a7.js"><link rel="prefetch" href="/note/assets/js/1336.0709b00a.js"><link rel="prefetch" href="/note/assets/js/1337.4b93078a.js"><link rel="prefetch" href="/note/assets/js/1338.fa0ea707.js"><link rel="prefetch" href="/note/assets/js/1339.4173dfbc.js"><link rel="prefetch" href="/note/assets/js/134.41dcae3e.js"><link rel="prefetch" href="/note/assets/js/1340.0f53faa4.js"><link rel="prefetch" href="/note/assets/js/1341.0b6bbc9b.js"><link rel="prefetch" href="/note/assets/js/1342.f09be87d.js"><link rel="prefetch" href="/note/assets/js/1343.8d700dd1.js"><link rel="prefetch" href="/note/assets/js/1344.20213311.js"><link rel="prefetch" href="/note/assets/js/1345.b88cb5c8.js"><link rel="prefetch" href="/note/assets/js/1346.2ce77e48.js"><link rel="prefetch" href="/note/assets/js/1347.3bdca290.js"><link rel="prefetch" href="/note/assets/js/1348.0604d15f.js"><link rel="prefetch" href="/note/assets/js/1349.c2cdba7b.js"><link rel="prefetch" href="/note/assets/js/135.c09225de.js"><link rel="prefetch" href="/note/assets/js/1350.e114232c.js"><link rel="prefetch" href="/note/assets/js/1351.df37c943.js"><link rel="prefetch" href="/note/assets/js/1352.391a9de9.js"><link rel="prefetch" href="/note/assets/js/1353.3fdc0d02.js"><link rel="prefetch" href="/note/assets/js/1354.6d84dd26.js"><link rel="prefetch" href="/note/assets/js/1355.0d1ebd9c.js"><link rel="prefetch" href="/note/assets/js/1356.5fcb74ec.js"><link rel="prefetch" href="/note/assets/js/1357.fee0a767.js"><link rel="prefetch" href="/note/assets/js/1358.4afa872d.js"><link rel="prefetch" href="/note/assets/js/1359.0d2d4054.js"><link rel="prefetch" href="/note/assets/js/136.e18c2baf.js"><link rel="prefetch" href="/note/assets/js/1360.16d39394.js"><link rel="prefetch" href="/note/assets/js/1361.fc7c3e15.js"><link rel="prefetch" href="/note/assets/js/1362.18e78662.js"><link rel="prefetch" href="/note/assets/js/1363.b37574a5.js"><link rel="prefetch" href="/note/assets/js/1364.82896e58.js"><link rel="prefetch" href="/note/assets/js/1365.14108d1c.js"><link rel="prefetch" href="/note/assets/js/1366.de0d4898.js"><link rel="prefetch" href="/note/assets/js/1367.8d6c2ea4.js"><link rel="prefetch" href="/note/assets/js/1368.6a3824f5.js"><link rel="prefetch" href="/note/assets/js/1369.a875c3a7.js"><link rel="prefetch" href="/note/assets/js/137.0ec1c58f.js"><link rel="prefetch" href="/note/assets/js/1370.8670e5e5.js"><link rel="prefetch" href="/note/assets/js/1371.0c0b8bdc.js"><link rel="prefetch" href="/note/assets/js/1372.5dc88a79.js"><link rel="prefetch" href="/note/assets/js/1373.329acda1.js"><link rel="prefetch" href="/note/assets/js/1374.80aa66c2.js"><link rel="prefetch" href="/note/assets/js/1375.9c839016.js"><link rel="prefetch" href="/note/assets/js/1376.cbdf0743.js"><link rel="prefetch" href="/note/assets/js/1377.85560841.js"><link rel="prefetch" href="/note/assets/js/1378.92799cab.js"><link rel="prefetch" href="/note/assets/js/1379.ca4340fe.js"><link rel="prefetch" href="/note/assets/js/138.8d774a2f.js"><link rel="prefetch" href="/note/assets/js/1380.89d648ee.js"><link rel="prefetch" href="/note/assets/js/1381.22adbfa4.js"><link rel="prefetch" href="/note/assets/js/1382.6222f122.js"><link rel="prefetch" href="/note/assets/js/1383.24957095.js"><link rel="prefetch" href="/note/assets/js/1384.ec1d0172.js"><link rel="prefetch" href="/note/assets/js/1385.8afde7d3.js"><link rel="prefetch" href="/note/assets/js/1386.0b3c73dd.js"><link rel="prefetch" href="/note/assets/js/1387.b4faf060.js"><link rel="prefetch" href="/note/assets/js/1388.4981a51b.js"><link rel="prefetch" href="/note/assets/js/1389.fc0ae05b.js"><link rel="prefetch" href="/note/assets/js/139.d80d5a43.js"><link rel="prefetch" href="/note/assets/js/1390.c795d933.js"><link rel="prefetch" href="/note/assets/js/1391.0a65590c.js"><link rel="prefetch" href="/note/assets/js/1392.0b002d03.js"><link rel="prefetch" href="/note/assets/js/1393.8ec9008f.js"><link rel="prefetch" href="/note/assets/js/1394.28dd0c38.js"><link rel="prefetch" href="/note/assets/js/1395.d11c4d7d.js"><link rel="prefetch" href="/note/assets/js/1396.2d17e869.js"><link rel="prefetch" href="/note/assets/js/1397.fc39449d.js"><link rel="prefetch" href="/note/assets/js/1398.dac7cae8.js"><link rel="prefetch" href="/note/assets/js/1399.a092200b.js"><link rel="prefetch" href="/note/assets/js/14.847d26c6.js"><link rel="prefetch" href="/note/assets/js/140.1806fa44.js"><link rel="prefetch" href="/note/assets/js/1400.340d15bc.js"><link rel="prefetch" href="/note/assets/js/1401.fb1eadb4.js"><link rel="prefetch" href="/note/assets/js/1402.5d9c1f5e.js"><link rel="prefetch" href="/note/assets/js/1403.71cd3cb7.js"><link rel="prefetch" href="/note/assets/js/1404.4c81613f.js"><link rel="prefetch" href="/note/assets/js/1405.4e8d32de.js"><link rel="prefetch" href="/note/assets/js/1406.74a33c61.js"><link rel="prefetch" href="/note/assets/js/1407.f7ef7d44.js"><link rel="prefetch" href="/note/assets/js/1408.62d0d070.js"><link rel="prefetch" href="/note/assets/js/1409.67d54f7c.js"><link rel="prefetch" href="/note/assets/js/141.2d95a179.js"><link rel="prefetch" href="/note/assets/js/1410.a16c0ab9.js"><link rel="prefetch" href="/note/assets/js/1411.37edbd1a.js"><link rel="prefetch" href="/note/assets/js/1412.a93dadb9.js"><link rel="prefetch" href="/note/assets/js/1413.c2a864a9.js"><link rel="prefetch" href="/note/assets/js/1414.33e6fce8.js"><link rel="prefetch" href="/note/assets/js/1415.026695b8.js"><link rel="prefetch" href="/note/assets/js/1416.47764d4b.js"><link rel="prefetch" href="/note/assets/js/1417.b8cecfc2.js"><link rel="prefetch" href="/note/assets/js/1418.2ea74a94.js"><link rel="prefetch" href="/note/assets/js/1419.a41393cc.js"><link rel="prefetch" href="/note/assets/js/142.3d25732a.js"><link rel="prefetch" href="/note/assets/js/1420.83ca3297.js"><link rel="prefetch" href="/note/assets/js/1421.5821c764.js"><link rel="prefetch" href="/note/assets/js/1422.8a8659bc.js"><link rel="prefetch" href="/note/assets/js/1423.2a32ed10.js"><link rel="prefetch" href="/note/assets/js/1424.89c811ec.js"><link rel="prefetch" href="/note/assets/js/1425.69e12966.js"><link rel="prefetch" href="/note/assets/js/1426.c1f9da1d.js"><link rel="prefetch" href="/note/assets/js/1427.b6dbb954.js"><link rel="prefetch" href="/note/assets/js/1428.42562b2f.js"><link rel="prefetch" href="/note/assets/js/1429.1bb4bc31.js"><link rel="prefetch" href="/note/assets/js/143.c22538f9.js"><link rel="prefetch" href="/note/assets/js/1430.8225e187.js"><link rel="prefetch" href="/note/assets/js/1431.2d96077b.js"><link rel="prefetch" href="/note/assets/js/1432.bb9229d1.js"><link rel="prefetch" href="/note/assets/js/1433.51b9bd4b.js"><link rel="prefetch" href="/note/assets/js/1434.8e194f0a.js"><link rel="prefetch" href="/note/assets/js/1435.13172492.js"><link rel="prefetch" href="/note/assets/js/1436.df019c81.js"><link rel="prefetch" href="/note/assets/js/1437.4bd1e822.js"><link rel="prefetch" href="/note/assets/js/1438.97ae5dd7.js"><link rel="prefetch" href="/note/assets/js/1439.201fdddd.js"><link rel="prefetch" href="/note/assets/js/144.0b4c19aa.js"><link rel="prefetch" href="/note/assets/js/1440.6e3adeba.js"><link rel="prefetch" href="/note/assets/js/1441.afa0e645.js"><link rel="prefetch" href="/note/assets/js/1442.730d65e0.js"><link rel="prefetch" href="/note/assets/js/1443.53e4a60c.js"><link rel="prefetch" href="/note/assets/js/1444.47c80761.js"><link rel="prefetch" href="/note/assets/js/1445.e27cbad2.js"><link rel="prefetch" href="/note/assets/js/1446.b455698c.js"><link rel="prefetch" href="/note/assets/js/1447.642b14fa.js"><link rel="prefetch" href="/note/assets/js/1448.625d0786.js"><link rel="prefetch" href="/note/assets/js/1449.cf3756b1.js"><link rel="prefetch" href="/note/assets/js/145.509ce233.js"><link rel="prefetch" href="/note/assets/js/1450.d103af6e.js"><link rel="prefetch" href="/note/assets/js/1451.b899e98f.js"><link rel="prefetch" href="/note/assets/js/1452.cc4e7365.js"><link rel="prefetch" href="/note/assets/js/1453.83afb777.js"><link rel="prefetch" href="/note/assets/js/1454.2d44ac54.js"><link rel="prefetch" href="/note/assets/js/1455.06f4b1fe.js"><link rel="prefetch" href="/note/assets/js/1456.09f75f8d.js"><link rel="prefetch" href="/note/assets/js/1457.dd92e82e.js"><link rel="prefetch" href="/note/assets/js/1458.16d42102.js"><link rel="prefetch" href="/note/assets/js/1459.5082f242.js"><link rel="prefetch" href="/note/assets/js/146.39f8bb62.js"><link rel="prefetch" href="/note/assets/js/1460.e9b73d77.js"><link rel="prefetch" href="/note/assets/js/147.430ff199.js"><link rel="prefetch" href="/note/assets/js/148.a938d024.js"><link rel="prefetch" href="/note/assets/js/149.935aa85b.js"><link rel="prefetch" href="/note/assets/js/15.8c9d5e9b.js"><link rel="prefetch" href="/note/assets/js/150.bbbe57ce.js"><link rel="prefetch" href="/note/assets/js/151.ff026b3b.js"><link rel="prefetch" href="/note/assets/js/152.d72b0f1b.js"><link rel="prefetch" href="/note/assets/js/153.9e1a171a.js"><link rel="prefetch" href="/note/assets/js/154.be85799e.js"><link rel="prefetch" href="/note/assets/js/155.467d089d.js"><link rel="prefetch" href="/note/assets/js/156.f4925aeb.js"><link rel="prefetch" href="/note/assets/js/157.bf016db4.js"><link rel="prefetch" href="/note/assets/js/158.6557331a.js"><link rel="prefetch" href="/note/assets/js/159.c19f073c.js"><link rel="prefetch" href="/note/assets/js/16.f4484e9a.js"><link rel="prefetch" href="/note/assets/js/160.ea0019ba.js"><link rel="prefetch" href="/note/assets/js/161.5ee60b37.js"><link rel="prefetch" href="/note/assets/js/162.e54f9316.js"><link rel="prefetch" href="/note/assets/js/163.8769d9db.js"><link rel="prefetch" href="/note/assets/js/164.17924085.js"><link rel="prefetch" href="/note/assets/js/165.c5471ae5.js"><link rel="prefetch" href="/note/assets/js/166.3107f752.js"><link rel="prefetch" href="/note/assets/js/167.f0db27fc.js"><link rel="prefetch" href="/note/assets/js/168.19d54949.js"><link rel="prefetch" href="/note/assets/js/169.bfbb71c4.js"><link rel="prefetch" href="/note/assets/js/17.89e26c05.js"><link rel="prefetch" href="/note/assets/js/170.10815d8d.js"><link rel="prefetch" href="/note/assets/js/171.23d45bd0.js"><link rel="prefetch" href="/note/assets/js/172.8e638c54.js"><link rel="prefetch" href="/note/assets/js/173.ad76c8df.js"><link rel="prefetch" href="/note/assets/js/174.6ee72bd8.js"><link rel="prefetch" href="/note/assets/js/175.4afb509a.js"><link rel="prefetch" href="/note/assets/js/176.0b4c660a.js"><link rel="prefetch" href="/note/assets/js/177.19681f94.js"><link rel="prefetch" href="/note/assets/js/178.d4ca918c.js"><link rel="prefetch" href="/note/assets/js/179.578ac6bd.js"><link rel="prefetch" href="/note/assets/js/18.69938167.js"><link rel="prefetch" href="/note/assets/js/180.14dcb4e4.js"><link rel="prefetch" href="/note/assets/js/181.0b8db1d1.js"><link rel="prefetch" href="/note/assets/js/182.8503108b.js"><link rel="prefetch" href="/note/assets/js/183.312f2c33.js"><link rel="prefetch" href="/note/assets/js/184.306370b9.js"><link rel="prefetch" href="/note/assets/js/185.ce0a0d13.js"><link rel="prefetch" href="/note/assets/js/186.c2bb206c.js"><link rel="prefetch" href="/note/assets/js/187.f81ccd56.js"><link rel="prefetch" href="/note/assets/js/188.07336151.js"><link rel="prefetch" href="/note/assets/js/189.cd4e0468.js"><link rel="prefetch" href="/note/assets/js/19.cc24e670.js"><link rel="prefetch" href="/note/assets/js/190.bc62c625.js"><link rel="prefetch" href="/note/assets/js/191.707c1e32.js"><link rel="prefetch" href="/note/assets/js/192.32c5d818.js"><link rel="prefetch" href="/note/assets/js/193.719cdc21.js"><link rel="prefetch" href="/note/assets/js/194.0c4a7df0.js"><link rel="prefetch" href="/note/assets/js/195.028cac8c.js"><link rel="prefetch" href="/note/assets/js/196.0ecbc759.js"><link rel="prefetch" href="/note/assets/js/197.60e9be4a.js"><link rel="prefetch" href="/note/assets/js/198.29eb7182.js"><link rel="prefetch" href="/note/assets/js/199.61e353a0.js"><link rel="prefetch" href="/note/assets/js/20.d37e41cd.js"><link rel="prefetch" href="/note/assets/js/200.fa15588c.js"><link rel="prefetch" href="/note/assets/js/201.88790291.js"><link rel="prefetch" href="/note/assets/js/202.ad85e143.js"><link rel="prefetch" href="/note/assets/js/203.0a35954b.js"><link rel="prefetch" href="/note/assets/js/204.360211f5.js"><link rel="prefetch" href="/note/assets/js/205.822b717c.js"><link rel="prefetch" href="/note/assets/js/206.dad44f61.js"><link rel="prefetch" href="/note/assets/js/207.58bb9d07.js"><link rel="prefetch" href="/note/assets/js/208.daf4523a.js"><link rel="prefetch" href="/note/assets/js/209.21009104.js"><link rel="prefetch" href="/note/assets/js/21.e753b427.js"><link rel="prefetch" href="/note/assets/js/210.63e464f5.js"><link rel="prefetch" href="/note/assets/js/211.78189752.js"><link rel="prefetch" href="/note/assets/js/212.0524679b.js"><link rel="prefetch" href="/note/assets/js/213.1a53caae.js"><link rel="prefetch" href="/note/assets/js/214.49988e14.js"><link rel="prefetch" href="/note/assets/js/215.ab792580.js"><link rel="prefetch" href="/note/assets/js/216.82d2c6ec.js"><link rel="prefetch" href="/note/assets/js/217.1e379e0a.js"><link rel="prefetch" href="/note/assets/js/218.d618d40f.js"><link rel="prefetch" href="/note/assets/js/219.60a91d4f.js"><link rel="prefetch" href="/note/assets/js/22.57542359.js"><link rel="prefetch" href="/note/assets/js/220.aaafc42d.js"><link rel="prefetch" href="/note/assets/js/221.d3a0224a.js"><link rel="prefetch" href="/note/assets/js/222.808ba992.js"><link rel="prefetch" href="/note/assets/js/223.42964583.js"><link rel="prefetch" href="/note/assets/js/224.8b2d9001.js"><link rel="prefetch" href="/note/assets/js/225.53efc168.js"><link rel="prefetch" href="/note/assets/js/226.435b8d3d.js"><link rel="prefetch" href="/note/assets/js/227.7d098b04.js"><link rel="prefetch" href="/note/assets/js/228.b99dd394.js"><link rel="prefetch" href="/note/assets/js/229.5164805b.js"><link rel="prefetch" href="/note/assets/js/23.73dd793d.js"><link rel="prefetch" href="/note/assets/js/230.1c484e52.js"><link rel="prefetch" href="/note/assets/js/231.221e66d5.js"><link rel="prefetch" href="/note/assets/js/232.1eb120aa.js"><link rel="prefetch" href="/note/assets/js/233.00efa2d1.js"><link rel="prefetch" href="/note/assets/js/234.b5565ecf.js"><link rel="prefetch" href="/note/assets/js/235.7ec7bfc9.js"><link rel="prefetch" href="/note/assets/js/236.c4f67bfa.js"><link rel="prefetch" href="/note/assets/js/237.6ca501df.js"><link rel="prefetch" href="/note/assets/js/238.5a282f9d.js"><link rel="prefetch" href="/note/assets/js/239.2d6c6d81.js"><link rel="prefetch" href="/note/assets/js/24.660abe62.js"><link rel="prefetch" href="/note/assets/js/240.9f3c756e.js"><link rel="prefetch" href="/note/assets/js/241.4c1a6756.js"><link rel="prefetch" href="/note/assets/js/242.b8ab85f5.js"><link rel="prefetch" href="/note/assets/js/243.c882324d.js"><link rel="prefetch" href="/note/assets/js/244.99bf6ef2.js"><link rel="prefetch" href="/note/assets/js/245.636ba278.js"><link rel="prefetch" href="/note/assets/js/246.3e1f927b.js"><link rel="prefetch" href="/note/assets/js/247.3c709a2a.js"><link rel="prefetch" href="/note/assets/js/248.80e0b578.js"><link rel="prefetch" href="/note/assets/js/249.16e05186.js"><link rel="prefetch" href="/note/assets/js/25.71adba35.js"><link rel="prefetch" href="/note/assets/js/250.3e0cd351.js"><link rel="prefetch" href="/note/assets/js/251.028587a1.js"><link rel="prefetch" href="/note/assets/js/252.bd6a3ac4.js"><link rel="prefetch" href="/note/assets/js/253.b0fc16aa.js"><link rel="prefetch" href="/note/assets/js/254.624446ff.js"><link rel="prefetch" href="/note/assets/js/255.10684b37.js"><link rel="prefetch" href="/note/assets/js/256.1f86a464.js"><link rel="prefetch" href="/note/assets/js/257.37e7da9a.js"><link rel="prefetch" href="/note/assets/js/258.bfbf464f.js"><link rel="prefetch" href="/note/assets/js/259.d9424139.js"><link rel="prefetch" href="/note/assets/js/26.ff08bca1.js"><link rel="prefetch" href="/note/assets/js/260.d00b2c11.js"><link rel="prefetch" href="/note/assets/js/261.50886223.js"><link rel="prefetch" href="/note/assets/js/262.7aa4b754.js"><link rel="prefetch" href="/note/assets/js/263.9469681b.js"><link rel="prefetch" href="/note/assets/js/264.77aa6da4.js"><link rel="prefetch" href="/note/assets/js/265.0a415af9.js"><link rel="prefetch" href="/note/assets/js/266.a05732bf.js"><link rel="prefetch" href="/note/assets/js/267.a3529216.js"><link rel="prefetch" href="/note/assets/js/268.edb89e0c.js"><link rel="prefetch" href="/note/assets/js/269.716aca67.js"><link rel="prefetch" href="/note/assets/js/27.7f0de328.js"><link rel="prefetch" href="/note/assets/js/270.948bce99.js"><link rel="prefetch" href="/note/assets/js/271.8fd5a972.js"><link rel="prefetch" href="/note/assets/js/272.b060efeb.js"><link rel="prefetch" href="/note/assets/js/273.6eb4881f.js"><link rel="prefetch" href="/note/assets/js/274.8aebae89.js"><link rel="prefetch" href="/note/assets/js/275.f8692314.js"><link rel="prefetch" href="/note/assets/js/276.d44bd6c3.js"><link rel="prefetch" href="/note/assets/js/277.b1883d45.js"><link rel="prefetch" href="/note/assets/js/278.66616b93.js"><link rel="prefetch" href="/note/assets/js/279.fa2d5254.js"><link rel="prefetch" href="/note/assets/js/28.1d049b7f.js"><link rel="prefetch" href="/note/assets/js/280.2c3c358a.js"><link rel="prefetch" href="/note/assets/js/281.eac36fb8.js"><link rel="prefetch" href="/note/assets/js/282.bdf5bba2.js"><link rel="prefetch" href="/note/assets/js/283.6f9707ab.js"><link rel="prefetch" href="/note/assets/js/284.9d96ae61.js"><link rel="prefetch" href="/note/assets/js/285.7270332c.js"><link rel="prefetch" href="/note/assets/js/286.31beed1b.js"><link rel="prefetch" href="/note/assets/js/287.ecca43e7.js"><link rel="prefetch" href="/note/assets/js/288.e1eb3e9c.js"><link rel="prefetch" href="/note/assets/js/289.e99635bc.js"><link rel="prefetch" href="/note/assets/js/29.d90b31d9.js"><link rel="prefetch" href="/note/assets/js/290.1754a04a.js"><link rel="prefetch" href="/note/assets/js/291.e1387484.js"><link rel="prefetch" href="/note/assets/js/292.1c8fafed.js"><link rel="prefetch" href="/note/assets/js/293.53db23d4.js"><link rel="prefetch" href="/note/assets/js/294.cf0f59e7.js"><link rel="prefetch" href="/note/assets/js/295.86f7a0c5.js"><link rel="prefetch" href="/note/assets/js/296.cc29690a.js"><link rel="prefetch" href="/note/assets/js/297.d6049be9.js"><link rel="prefetch" href="/note/assets/js/298.ad490876.js"><link rel="prefetch" href="/note/assets/js/299.e7a8dd5d.js"><link rel="prefetch" href="/note/assets/js/3.fc28a0c5.js"><link rel="prefetch" href="/note/assets/js/30.a6771c00.js"><link rel="prefetch" href="/note/assets/js/300.e89dd144.js"><link rel="prefetch" href="/note/assets/js/301.06a5129c.js"><link rel="prefetch" href="/note/assets/js/302.d27eee7f.js"><link rel="prefetch" href="/note/assets/js/303.6cb153e2.js"><link rel="prefetch" href="/note/assets/js/304.72f78616.js"><link rel="prefetch" href="/note/assets/js/305.ac4a3220.js"><link rel="prefetch" href="/note/assets/js/306.9b8b63d6.js"><link rel="prefetch" href="/note/assets/js/307.6f468581.js"><link rel="prefetch" href="/note/assets/js/308.a33bcb6f.js"><link rel="prefetch" href="/note/assets/js/309.f257109e.js"><link rel="prefetch" href="/note/assets/js/31.bbeaa09a.js"><link rel="prefetch" href="/note/assets/js/310.5ee69fa6.js"><link rel="prefetch" href="/note/assets/js/311.d86212e9.js"><link rel="prefetch" href="/note/assets/js/312.1e1d067d.js"><link rel="prefetch" href="/note/assets/js/313.59777112.js"><link rel="prefetch" href="/note/assets/js/314.56074720.js"><link rel="prefetch" href="/note/assets/js/315.e7be742b.js"><link rel="prefetch" href="/note/assets/js/316.98e85b2e.js"><link rel="prefetch" href="/note/assets/js/317.5bc16616.js"><link rel="prefetch" href="/note/assets/js/318.fff6b67a.js"><link rel="prefetch" href="/note/assets/js/319.e7813632.js"><link rel="prefetch" href="/note/assets/js/32.d57143e0.js"><link rel="prefetch" href="/note/assets/js/320.560f3c50.js"><link rel="prefetch" href="/note/assets/js/321.86428b09.js"><link rel="prefetch" href="/note/assets/js/322.bd5e97f0.js"><link rel="prefetch" href="/note/assets/js/323.208c0b5f.js"><link rel="prefetch" href="/note/assets/js/324.a5fb0342.js"><link rel="prefetch" href="/note/assets/js/325.58c41f06.js"><link rel="prefetch" href="/note/assets/js/326.3ca3f7f5.js"><link rel="prefetch" href="/note/assets/js/327.2c9315dd.js"><link rel="prefetch" href="/note/assets/js/328.b43c347e.js"><link rel="prefetch" href="/note/assets/js/329.bc489aea.js"><link rel="prefetch" href="/note/assets/js/33.90d2788a.js"><link rel="prefetch" href="/note/assets/js/330.12aa0967.js"><link rel="prefetch" href="/note/assets/js/331.d37f0216.js"><link rel="prefetch" href="/note/assets/js/332.6036cd61.js"><link rel="prefetch" href="/note/assets/js/333.8f363034.js"><link rel="prefetch" href="/note/assets/js/334.ed80309c.js"><link rel="prefetch" href="/note/assets/js/335.d46f51a7.js"><link rel="prefetch" href="/note/assets/js/336.7c5eeb71.js"><link rel="prefetch" href="/note/assets/js/337.5d74fb8c.js"><link rel="prefetch" href="/note/assets/js/338.d1a815a4.js"><link rel="prefetch" href="/note/assets/js/339.e0e1447d.js"><link rel="prefetch" href="/note/assets/js/34.f5c63e02.js"><link rel="prefetch" href="/note/assets/js/340.d7bab6c9.js"><link rel="prefetch" href="/note/assets/js/341.a39a954c.js"><link rel="prefetch" href="/note/assets/js/342.65a81c3a.js"><link rel="prefetch" href="/note/assets/js/343.ae604213.js"><link rel="prefetch" href="/note/assets/js/344.4b9857e8.js"><link rel="prefetch" href="/note/assets/js/345.6852dd3c.js"><link rel="prefetch" href="/note/assets/js/346.0bffe89e.js"><link rel="prefetch" href="/note/assets/js/347.1b79b927.js"><link rel="prefetch" href="/note/assets/js/348.9bbb6ac7.js"><link rel="prefetch" href="/note/assets/js/349.4e3c7831.js"><link rel="prefetch" href="/note/assets/js/35.ccaad1ec.js"><link rel="prefetch" href="/note/assets/js/350.19ba2b65.js"><link rel="prefetch" href="/note/assets/js/351.99b33470.js"><link rel="prefetch" href="/note/assets/js/352.99949662.js"><link rel="prefetch" href="/note/assets/js/353.db2c1069.js"><link rel="prefetch" href="/note/assets/js/354.52dd6867.js"><link rel="prefetch" href="/note/assets/js/355.b7e99740.js"><link rel="prefetch" href="/note/assets/js/356.5f3503fa.js"><link rel="prefetch" href="/note/assets/js/357.fd0c60da.js"><link rel="prefetch" href="/note/assets/js/358.ea326476.js"><link rel="prefetch" href="/note/assets/js/359.85a2bdd4.js"><link rel="prefetch" href="/note/assets/js/36.0eac5d8c.js"><link rel="prefetch" href="/note/assets/js/360.f584e163.js"><link rel="prefetch" href="/note/assets/js/361.377a543c.js"><link rel="prefetch" href="/note/assets/js/362.346447a4.js"><link rel="prefetch" href="/note/assets/js/363.09045357.js"><link rel="prefetch" href="/note/assets/js/364.b1a5039e.js"><link rel="prefetch" href="/note/assets/js/365.361a2926.js"><link rel="prefetch" href="/note/assets/js/366.ab0aba4d.js"><link rel="prefetch" href="/note/assets/js/367.11cc0870.js"><link rel="prefetch" href="/note/assets/js/368.0d1bfd43.js"><link rel="prefetch" href="/note/assets/js/369.a6c11a6d.js"><link rel="prefetch" href="/note/assets/js/37.3d87e591.js"><link rel="prefetch" href="/note/assets/js/370.f186d724.js"><link rel="prefetch" href="/note/assets/js/371.2a5b24db.js"><link rel="prefetch" href="/note/assets/js/372.6b5a223f.js"><link rel="prefetch" href="/note/assets/js/373.9e2f062c.js"><link rel="prefetch" href="/note/assets/js/374.7c1df132.js"><link rel="prefetch" href="/note/assets/js/375.138e9c85.js"><link rel="prefetch" href="/note/assets/js/376.f0e2cee7.js"><link rel="prefetch" href="/note/assets/js/377.b1dc79d7.js"><link rel="prefetch" href="/note/assets/js/378.0b0ceabf.js"><link rel="prefetch" href="/note/assets/js/379.e6d03a76.js"><link rel="prefetch" href="/note/assets/js/38.70a54326.js"><link rel="prefetch" href="/note/assets/js/380.8fabe338.js"><link rel="prefetch" href="/note/assets/js/381.f1ee75ad.js"><link rel="prefetch" href="/note/assets/js/382.192ac29e.js"><link rel="prefetch" href="/note/assets/js/383.d77772b7.js"><link rel="prefetch" href="/note/assets/js/384.8cc4a42e.js"><link rel="prefetch" href="/note/assets/js/385.e6c30b7d.js"><link rel="prefetch" href="/note/assets/js/386.32b0a8a8.js"><link rel="prefetch" href="/note/assets/js/387.ed3ce8d7.js"><link rel="prefetch" href="/note/assets/js/388.dfba639b.js"><link rel="prefetch" href="/note/assets/js/389.4a82ece1.js"><link rel="prefetch" href="/note/assets/js/39.514b2540.js"><link rel="prefetch" href="/note/assets/js/390.809bd2ab.js"><link rel="prefetch" href="/note/assets/js/391.0e131718.js"><link rel="prefetch" href="/note/assets/js/392.1be3717c.js"><link rel="prefetch" href="/note/assets/js/393.6ddeb046.js"><link rel="prefetch" href="/note/assets/js/394.e635681c.js"><link rel="prefetch" href="/note/assets/js/395.0ee6bbbc.js"><link rel="prefetch" href="/note/assets/js/396.85b264d9.js"><link rel="prefetch" href="/note/assets/js/397.d93855cf.js"><link rel="prefetch" href="/note/assets/js/398.7d8f7dfc.js"><link rel="prefetch" href="/note/assets/js/399.292eeb0e.js"><link rel="prefetch" href="/note/assets/js/4.6af04a85.js"><link rel="prefetch" href="/note/assets/js/40.65ae8c8f.js"><link rel="prefetch" href="/note/assets/js/400.0ebb1947.js"><link rel="prefetch" href="/note/assets/js/401.c2877f60.js"><link rel="prefetch" href="/note/assets/js/402.23d37dd5.js"><link rel="prefetch" href="/note/assets/js/403.75e7fee0.js"><link rel="prefetch" href="/note/assets/js/404.f91c1ff2.js"><link rel="prefetch" href="/note/assets/js/405.6b388073.js"><link rel="prefetch" href="/note/assets/js/406.2585f163.js"><link rel="prefetch" href="/note/assets/js/407.d525cb48.js"><link rel="prefetch" href="/note/assets/js/408.fb6974b1.js"><link rel="prefetch" href="/note/assets/js/409.e0c7b879.js"><link rel="prefetch" href="/note/assets/js/41.715dfdfa.js"><link rel="prefetch" href="/note/assets/js/410.84e6ac82.js"><link rel="prefetch" href="/note/assets/js/411.303aa935.js"><link rel="prefetch" href="/note/assets/js/412.593de58f.js"><link rel="prefetch" href="/note/assets/js/413.bfe6fc30.js"><link rel="prefetch" href="/note/assets/js/414.73a72f10.js"><link rel="prefetch" href="/note/assets/js/415.845bb8e2.js"><link rel="prefetch" href="/note/assets/js/416.42c22356.js"><link rel="prefetch" href="/note/assets/js/417.8d6e483d.js"><link rel="prefetch" href="/note/assets/js/418.5dd81b5c.js"><link rel="prefetch" href="/note/assets/js/419.e8a3aa5b.js"><link rel="prefetch" href="/note/assets/js/42.29170d31.js"><link rel="prefetch" href="/note/assets/js/420.c8166737.js"><link rel="prefetch" href="/note/assets/js/421.5054fb10.js"><link rel="prefetch" href="/note/assets/js/422.326dc90d.js"><link rel="prefetch" href="/note/assets/js/423.0fa8877a.js"><link rel="prefetch" href="/note/assets/js/424.898ead61.js"><link rel="prefetch" href="/note/assets/js/425.f96a352d.js"><link rel="prefetch" href="/note/assets/js/426.c2db3143.js"><link rel="prefetch" href="/note/assets/js/427.1042acb9.js"><link rel="prefetch" href="/note/assets/js/428.e6e3f3ec.js"><link rel="prefetch" href="/note/assets/js/429.08d52a91.js"><link rel="prefetch" href="/note/assets/js/43.9d97ee9c.js"><link rel="prefetch" href="/note/assets/js/430.6815d1b5.js"><link rel="prefetch" href="/note/assets/js/431.ad58ee2e.js"><link rel="prefetch" href="/note/assets/js/432.a1804b06.js"><link rel="prefetch" href="/note/assets/js/433.81b47dd4.js"><link rel="prefetch" href="/note/assets/js/434.c11437f1.js"><link rel="prefetch" href="/note/assets/js/435.e1c92784.js"><link rel="prefetch" href="/note/assets/js/436.8d954608.js"><link rel="prefetch" href="/note/assets/js/437.5821e2c5.js"><link rel="prefetch" href="/note/assets/js/438.e5aeae1e.js"><link rel="prefetch" href="/note/assets/js/439.f8e8c2ab.js"><link rel="prefetch" href="/note/assets/js/44.6d37c4fd.js"><link rel="prefetch" href="/note/assets/js/440.f67de81c.js"><link rel="prefetch" href="/note/assets/js/441.cd28b1fd.js"><link rel="prefetch" href="/note/assets/js/442.16e2bb9d.js"><link rel="prefetch" href="/note/assets/js/443.74a738a1.js"><link rel="prefetch" href="/note/assets/js/444.a54539b0.js"><link rel="prefetch" href="/note/assets/js/445.bc312b4b.js"><link rel="prefetch" href="/note/assets/js/446.18e3ced6.js"><link rel="prefetch" href="/note/assets/js/447.1ad43b91.js"><link rel="prefetch" href="/note/assets/js/448.92a24b5c.js"><link rel="prefetch" href="/note/assets/js/449.94da1fee.js"><link rel="prefetch" href="/note/assets/js/45.7753edaa.js"><link rel="prefetch" href="/note/assets/js/450.defc87b4.js"><link rel="prefetch" href="/note/assets/js/451.cae9cff7.js"><link rel="prefetch" href="/note/assets/js/452.ed3e7bf6.js"><link rel="prefetch" href="/note/assets/js/453.e512320b.js"><link rel="prefetch" href="/note/assets/js/454.f3b6bfef.js"><link rel="prefetch" href="/note/assets/js/455.17355a67.js"><link rel="prefetch" href="/note/assets/js/456.887e2045.js"><link rel="prefetch" href="/note/assets/js/457.dfd993da.js"><link rel="prefetch" href="/note/assets/js/458.ac2a0cf2.js"><link rel="prefetch" href="/note/assets/js/459.e5de6a23.js"><link rel="prefetch" href="/note/assets/js/46.0eda098b.js"><link rel="prefetch" href="/note/assets/js/460.5b307331.js"><link rel="prefetch" href="/note/assets/js/461.be36043e.js"><link rel="prefetch" href="/note/assets/js/462.45c1b230.js"><link rel="prefetch" href="/note/assets/js/463.b0d659f4.js"><link rel="prefetch" href="/note/assets/js/464.b8d13784.js"><link rel="prefetch" href="/note/assets/js/465.fd2a430d.js"><link rel="prefetch" href="/note/assets/js/466.f1b3fb73.js"><link rel="prefetch" href="/note/assets/js/467.8f3f22ea.js"><link rel="prefetch" href="/note/assets/js/468.9bacb2c7.js"><link rel="prefetch" href="/note/assets/js/469.ffa0f5ce.js"><link rel="prefetch" href="/note/assets/js/47.a1fa3dac.js"><link rel="prefetch" href="/note/assets/js/470.3983c083.js"><link rel="prefetch" href="/note/assets/js/471.1fe2b8d9.js"><link rel="prefetch" href="/note/assets/js/472.7165fd57.js"><link rel="prefetch" href="/note/assets/js/473.9dff41e2.js"><link rel="prefetch" href="/note/assets/js/474.ab8a5f71.js"><link rel="prefetch" href="/note/assets/js/475.06eb4bd0.js"><link rel="prefetch" href="/note/assets/js/476.8515d1d4.js"><link rel="prefetch" href="/note/assets/js/477.57ded87a.js"><link rel="prefetch" href="/note/assets/js/478.2af7287c.js"><link rel="prefetch" href="/note/assets/js/479.c20ddf9b.js"><link rel="prefetch" href="/note/assets/js/48.158a9541.js"><link rel="prefetch" href="/note/assets/js/480.1b8f7358.js"><link rel="prefetch" href="/note/assets/js/481.f78c0a92.js"><link rel="prefetch" href="/note/assets/js/482.102420b6.js"><link rel="prefetch" href="/note/assets/js/483.e9337359.js"><link rel="prefetch" href="/note/assets/js/484.41dc9cee.js"><link rel="prefetch" href="/note/assets/js/485.9d0c9df6.js"><link rel="prefetch" href="/note/assets/js/486.03710601.js"><link rel="prefetch" href="/note/assets/js/487.470e1e49.js"><link rel="prefetch" href="/note/assets/js/488.da246f88.js"><link rel="prefetch" href="/note/assets/js/489.987adcec.js"><link rel="prefetch" href="/note/assets/js/49.ee00b52c.js"><link rel="prefetch" href="/note/assets/js/490.b42c4267.js"><link rel="prefetch" href="/note/assets/js/491.4898d773.js"><link rel="prefetch" href="/note/assets/js/492.1db0074e.js"><link rel="prefetch" href="/note/assets/js/493.8c677139.js"><link rel="prefetch" href="/note/assets/js/494.b55b2077.js"><link rel="prefetch" href="/note/assets/js/495.5e73d922.js"><link rel="prefetch" href="/note/assets/js/496.096132a2.js"><link rel="prefetch" href="/note/assets/js/497.26717a1c.js"><link rel="prefetch" href="/note/assets/js/498.2ecc984b.js"><link rel="prefetch" href="/note/assets/js/499.491db6bc.js"><link rel="prefetch" href="/note/assets/js/5.a0402625.js"><link rel="prefetch" href="/note/assets/js/50.eb3a53c8.js"><link rel="prefetch" href="/note/assets/js/500.72d14f3a.js"><link rel="prefetch" href="/note/assets/js/501.352e3016.js"><link rel="prefetch" href="/note/assets/js/502.38faadac.js"><link rel="prefetch" href="/note/assets/js/503.d9e95067.js"><link rel="prefetch" href="/note/assets/js/504.390a7a13.js"><link rel="prefetch" href="/note/assets/js/505.fdf5d327.js"><link rel="prefetch" href="/note/assets/js/506.2fde864e.js"><link rel="prefetch" href="/note/assets/js/507.ae02506f.js"><link rel="prefetch" href="/note/assets/js/508.e41b7b5f.js"><link rel="prefetch" href="/note/assets/js/509.8dcbed3b.js"><link rel="prefetch" href="/note/assets/js/51.a35edfb3.js"><link rel="prefetch" href="/note/assets/js/510.1e1ff805.js"><link rel="prefetch" href="/note/assets/js/511.86ef58bc.js"><link rel="prefetch" href="/note/assets/js/512.7a98af63.js"><link rel="prefetch" href="/note/assets/js/513.5f5cfdbd.js"><link rel="prefetch" href="/note/assets/js/514.6810c9ea.js"><link rel="prefetch" href="/note/assets/js/515.d0402bd4.js"><link rel="prefetch" href="/note/assets/js/516.06427f42.js"><link rel="prefetch" href="/note/assets/js/517.7d470321.js"><link rel="prefetch" href="/note/assets/js/518.92cd0627.js"><link rel="prefetch" href="/note/assets/js/519.3d3ece7a.js"><link rel="prefetch" href="/note/assets/js/52.4ae2c9cb.js"><link rel="prefetch" href="/note/assets/js/520.80da75ab.js"><link rel="prefetch" href="/note/assets/js/521.c0e05e58.js"><link rel="prefetch" href="/note/assets/js/522.5d591dab.js"><link rel="prefetch" href="/note/assets/js/523.ae1083c8.js"><link rel="prefetch" href="/note/assets/js/524.423eaa47.js"><link rel="prefetch" href="/note/assets/js/525.ddf88c3c.js"><link rel="prefetch" href="/note/assets/js/526.0e74f431.js"><link rel="prefetch" href="/note/assets/js/527.c84436a9.js"><link rel="prefetch" href="/note/assets/js/528.88edef65.js"><link rel="prefetch" href="/note/assets/js/529.e107e427.js"><link rel="prefetch" href="/note/assets/js/53.ff93be7a.js"><link rel="prefetch" href="/note/assets/js/530.0c6d0247.js"><link rel="prefetch" href="/note/assets/js/531.755d4758.js"><link rel="prefetch" href="/note/assets/js/532.a544dd51.js"><link rel="prefetch" href="/note/assets/js/533.ec020874.js"><link rel="prefetch" href="/note/assets/js/534.0580f4ad.js"><link rel="prefetch" href="/note/assets/js/535.f0410d55.js"><link rel="prefetch" href="/note/assets/js/536.a1230535.js"><link rel="prefetch" href="/note/assets/js/537.f3c62833.js"><link rel="prefetch" href="/note/assets/js/538.c6452f07.js"><link rel="prefetch" href="/note/assets/js/539.215dd929.js"><link rel="prefetch" href="/note/assets/js/54.49a6b8fe.js"><link rel="prefetch" href="/note/assets/js/540.5b48debf.js"><link rel="prefetch" href="/note/assets/js/541.fd572935.js"><link rel="prefetch" href="/note/assets/js/542.020a9edf.js"><link rel="prefetch" href="/note/assets/js/543.4e89d5c7.js"><link rel="prefetch" href="/note/assets/js/544.f3735286.js"><link rel="prefetch" href="/note/assets/js/545.33cf4870.js"><link rel="prefetch" href="/note/assets/js/546.8bbaedd0.js"><link rel="prefetch" href="/note/assets/js/547.c457318e.js"><link rel="prefetch" href="/note/assets/js/548.5def8910.js"><link rel="prefetch" href="/note/assets/js/549.62f0f82b.js"><link rel="prefetch" href="/note/assets/js/55.a98a018f.js"><link rel="prefetch" href="/note/assets/js/550.80b1c0e2.js"><link rel="prefetch" href="/note/assets/js/551.1bab09f3.js"><link rel="prefetch" href="/note/assets/js/552.310095a1.js"><link rel="prefetch" href="/note/assets/js/553.7e380ad4.js"><link rel="prefetch" href="/note/assets/js/554.9bd80c63.js"><link rel="prefetch" href="/note/assets/js/555.4f3e5976.js"><link rel="prefetch" href="/note/assets/js/556.c19e2ee1.js"><link rel="prefetch" href="/note/assets/js/557.58344b11.js"><link rel="prefetch" href="/note/assets/js/558.5d84de79.js"><link rel="prefetch" href="/note/assets/js/559.4e111acd.js"><link rel="prefetch" href="/note/assets/js/56.4c527626.js"><link rel="prefetch" href="/note/assets/js/560.38e535b6.js"><link rel="prefetch" href="/note/assets/js/561.3513b44b.js"><link rel="prefetch" href="/note/assets/js/562.ac34e03e.js"><link rel="prefetch" href="/note/assets/js/563.6ff79fc6.js"><link rel="prefetch" href="/note/assets/js/564.d2f858b1.js"><link rel="prefetch" href="/note/assets/js/565.448cd24a.js"><link rel="prefetch" href="/note/assets/js/566.29ff40b0.js"><link rel="prefetch" href="/note/assets/js/567.14d854a1.js"><link rel="prefetch" href="/note/assets/js/568.500b5d08.js"><link rel="prefetch" href="/note/assets/js/569.eb3c4db4.js"><link rel="prefetch" href="/note/assets/js/57.2e8c716a.js"><link rel="prefetch" href="/note/assets/js/570.fec2793b.js"><link rel="prefetch" href="/note/assets/js/571.4c8dd75f.js"><link rel="prefetch" href="/note/assets/js/572.09b78b61.js"><link rel="prefetch" href="/note/assets/js/573.d0cc196a.js"><link rel="prefetch" href="/note/assets/js/574.a69d7535.js"><link rel="prefetch" href="/note/assets/js/575.e66ebc03.js"><link rel="prefetch" href="/note/assets/js/576.a831a137.js"><link rel="prefetch" href="/note/assets/js/577.1edc7e53.js"><link rel="prefetch" href="/note/assets/js/578.1a487b11.js"><link rel="prefetch" href="/note/assets/js/579.bfcf8b07.js"><link rel="prefetch" href="/note/assets/js/58.1b396128.js"><link rel="prefetch" href="/note/assets/js/580.7529ba1d.js"><link rel="prefetch" href="/note/assets/js/581.64c3197a.js"><link rel="prefetch" href="/note/assets/js/582.1e4bc206.js"><link rel="prefetch" href="/note/assets/js/583.31da4290.js"><link rel="prefetch" href="/note/assets/js/584.43bd8550.js"><link rel="prefetch" href="/note/assets/js/585.d45718f3.js"><link rel="prefetch" href="/note/assets/js/586.365ba75e.js"><link rel="prefetch" href="/note/assets/js/587.112455b6.js"><link rel="prefetch" href="/note/assets/js/588.4bf67c40.js"><link rel="prefetch" href="/note/assets/js/589.93545dad.js"><link rel="prefetch" href="/note/assets/js/59.d02aca2b.js"><link rel="prefetch" href="/note/assets/js/590.5e5155a6.js"><link rel="prefetch" href="/note/assets/js/591.83ac9801.js"><link rel="prefetch" href="/note/assets/js/592.bb824349.js"><link rel="prefetch" href="/note/assets/js/593.05ef2d9d.js"><link rel="prefetch" href="/note/assets/js/594.a99fe73a.js"><link rel="prefetch" href="/note/assets/js/595.47c4236e.js"><link rel="prefetch" href="/note/assets/js/596.e582a28f.js"><link rel="prefetch" href="/note/assets/js/597.7c45d617.js"><link rel="prefetch" href="/note/assets/js/598.2d83e76f.js"><link rel="prefetch" href="/note/assets/js/599.ddfe0030.js"><link rel="prefetch" href="/note/assets/js/6.91ec853e.js"><link rel="prefetch" href="/note/assets/js/60.f03e4d41.js"><link rel="prefetch" href="/note/assets/js/600.39a6eda6.js"><link rel="prefetch" href="/note/assets/js/601.6f3f9d37.js"><link rel="prefetch" href="/note/assets/js/602.7e5917ec.js"><link rel="prefetch" href="/note/assets/js/603.8190b0fc.js"><link rel="prefetch" href="/note/assets/js/604.148b8a47.js"><link rel="prefetch" href="/note/assets/js/605.19365111.js"><link rel="prefetch" href="/note/assets/js/606.3566e537.js"><link rel="prefetch" href="/note/assets/js/607.dad2cb65.js"><link rel="prefetch" href="/note/assets/js/608.1a2615f4.js"><link rel="prefetch" href="/note/assets/js/609.4641128f.js"><link rel="prefetch" href="/note/assets/js/61.913dad19.js"><link rel="prefetch" href="/note/assets/js/610.b4ebb0d2.js"><link rel="prefetch" href="/note/assets/js/611.b3e7d8de.js"><link rel="prefetch" href="/note/assets/js/612.ac1a9fe6.js"><link rel="prefetch" href="/note/assets/js/613.a31a66c6.js"><link rel="prefetch" href="/note/assets/js/614.ca3427e2.js"><link rel="prefetch" href="/note/assets/js/615.db20494f.js"><link rel="prefetch" href="/note/assets/js/616.1437dd93.js"><link rel="prefetch" href="/note/assets/js/617.48fdddb9.js"><link rel="prefetch" href="/note/assets/js/618.c5d3ffbb.js"><link rel="prefetch" href="/note/assets/js/619.c06f2fe4.js"><link rel="prefetch" href="/note/assets/js/62.7f0f9ddf.js"><link rel="prefetch" href="/note/assets/js/620.f9f7953b.js"><link rel="prefetch" href="/note/assets/js/621.c68d85f7.js"><link rel="prefetch" href="/note/assets/js/622.30d4abd3.js"><link rel="prefetch" href="/note/assets/js/623.33a2c3c0.js"><link rel="prefetch" href="/note/assets/js/624.e24cdac0.js"><link rel="prefetch" href="/note/assets/js/625.f6e6e1af.js"><link rel="prefetch" href="/note/assets/js/626.5cd8549e.js"><link rel="prefetch" href="/note/assets/js/627.0f42bfeb.js"><link rel="prefetch" href="/note/assets/js/628.8994e399.js"><link rel="prefetch" href="/note/assets/js/629.61c68161.js"><link rel="prefetch" href="/note/assets/js/63.eb1744f2.js"><link rel="prefetch" href="/note/assets/js/630.085fe4f9.js"><link rel="prefetch" href="/note/assets/js/631.0bd41235.js"><link rel="prefetch" href="/note/assets/js/632.29eca9a3.js"><link rel="prefetch" href="/note/assets/js/633.fe262f3f.js"><link rel="prefetch" href="/note/assets/js/634.d872f5ed.js"><link rel="prefetch" href="/note/assets/js/635.3c30497e.js"><link rel="prefetch" href="/note/assets/js/636.12a1a4f2.js"><link rel="prefetch" href="/note/assets/js/637.6960fba6.js"><link rel="prefetch" href="/note/assets/js/638.202bb4a9.js"><link rel="prefetch" href="/note/assets/js/639.f3b7668c.js"><link rel="prefetch" href="/note/assets/js/64.20bd01ce.js"><link rel="prefetch" href="/note/assets/js/640.4848f564.js"><link rel="prefetch" href="/note/assets/js/642.85641115.js"><link rel="prefetch" href="/note/assets/js/643.4aadc6ab.js"><link rel="prefetch" href="/note/assets/js/644.35f2dfa1.js"><link rel="prefetch" href="/note/assets/js/645.eb7fe8f5.js"><link rel="prefetch" href="/note/assets/js/646.db725688.js"><link rel="prefetch" href="/note/assets/js/647.ec9411ac.js"><link rel="prefetch" href="/note/assets/js/648.f8605568.js"><link rel="prefetch" href="/note/assets/js/649.694b4803.js"><link rel="prefetch" href="/note/assets/js/65.963b91f7.js"><link rel="prefetch" href="/note/assets/js/650.75a78bde.js"><link rel="prefetch" href="/note/assets/js/651.8e164f09.js"><link rel="prefetch" href="/note/assets/js/652.784b17b8.js"><link rel="prefetch" href="/note/assets/js/653.c9a400b0.js"><link rel="prefetch" href="/note/assets/js/654.ae840bf5.js"><link rel="prefetch" href="/note/assets/js/655.1a2c1712.js"><link rel="prefetch" href="/note/assets/js/656.bee5cda4.js"><link rel="prefetch" href="/note/assets/js/657.f8a50d53.js"><link rel="prefetch" href="/note/assets/js/658.8068d8eb.js"><link rel="prefetch" href="/note/assets/js/659.d502cb8c.js"><link rel="prefetch" href="/note/assets/js/66.a17ac1aa.js"><link rel="prefetch" href="/note/assets/js/660.709c3281.js"><link rel="prefetch" href="/note/assets/js/661.2e5d7f4c.js"><link rel="prefetch" href="/note/assets/js/662.4af97320.js"><link rel="prefetch" href="/note/assets/js/663.5c0f65e6.js"><link rel="prefetch" href="/note/assets/js/664.cd7223f4.js"><link rel="prefetch" href="/note/assets/js/665.5bfb42b0.js"><link rel="prefetch" href="/note/assets/js/666.2d546dd6.js"><link rel="prefetch" href="/note/assets/js/667.bf518215.js"><link rel="prefetch" href="/note/assets/js/668.65336483.js"><link rel="prefetch" href="/note/assets/js/669.dcdf44f7.js"><link rel="prefetch" href="/note/assets/js/67.e8a10390.js"><link rel="prefetch" href="/note/assets/js/670.00bdf867.js"><link rel="prefetch" href="/note/assets/js/671.1e21b180.js"><link rel="prefetch" href="/note/assets/js/672.2e6d6ff5.js"><link rel="prefetch" href="/note/assets/js/673.416b44d5.js"><link rel="prefetch" href="/note/assets/js/674.ee65cf58.js"><link rel="prefetch" href="/note/assets/js/675.2fda9826.js"><link rel="prefetch" href="/note/assets/js/676.85860013.js"><link rel="prefetch" href="/note/assets/js/677.0fd11256.js"><link rel="prefetch" href="/note/assets/js/678.0b97fc4d.js"><link rel="prefetch" href="/note/assets/js/679.8b4bbe27.js"><link rel="prefetch" href="/note/assets/js/68.dec2b83c.js"><link rel="prefetch" href="/note/assets/js/680.3ab259e2.js"><link rel="prefetch" href="/note/assets/js/681.499af0fa.js"><link rel="prefetch" href="/note/assets/js/682.1568a2cd.js"><link rel="prefetch" href="/note/assets/js/683.36aebf70.js"><link rel="prefetch" href="/note/assets/js/684.9a273519.js"><link rel="prefetch" href="/note/assets/js/685.4db3b5bb.js"><link rel="prefetch" href="/note/assets/js/686.ba510cab.js"><link rel="prefetch" href="/note/assets/js/687.204dec0c.js"><link rel="prefetch" href="/note/assets/js/688.0384c02c.js"><link rel="prefetch" href="/note/assets/js/689.0d68cc67.js"><link rel="prefetch" href="/note/assets/js/69.ce55cdca.js"><link rel="prefetch" href="/note/assets/js/690.3767f313.js"><link rel="prefetch" href="/note/assets/js/691.3a572b74.js"><link rel="prefetch" href="/note/assets/js/692.1e76f9bb.js"><link rel="prefetch" href="/note/assets/js/693.75e10998.js"><link rel="prefetch" href="/note/assets/js/694.610b7964.js"><link rel="prefetch" href="/note/assets/js/695.ee185610.js"><link rel="prefetch" href="/note/assets/js/696.3efccde1.js"><link rel="prefetch" href="/note/assets/js/697.af2ecc6f.js"><link rel="prefetch" href="/note/assets/js/698.28043c26.js"><link rel="prefetch" href="/note/assets/js/699.02e136aa.js"><link rel="prefetch" href="/note/assets/js/7.81c08a6f.js"><link rel="prefetch" href="/note/assets/js/70.698eaf27.js"><link rel="prefetch" href="/note/assets/js/700.2e713a86.js"><link rel="prefetch" href="/note/assets/js/701.98bb1bc0.js"><link rel="prefetch" href="/note/assets/js/702.17f73667.js"><link rel="prefetch" href="/note/assets/js/703.8a71ef31.js"><link rel="prefetch" href="/note/assets/js/704.33f00660.js"><link rel="prefetch" href="/note/assets/js/705.d56d8c44.js"><link rel="prefetch" href="/note/assets/js/706.bb2ddc7c.js"><link rel="prefetch" href="/note/assets/js/707.019c0d55.js"><link rel="prefetch" href="/note/assets/js/708.46ad7582.js"><link rel="prefetch" href="/note/assets/js/709.ee096182.js"><link rel="prefetch" href="/note/assets/js/71.30dd9d3e.js"><link rel="prefetch" href="/note/assets/js/710.7203aec8.js"><link rel="prefetch" href="/note/assets/js/711.4b14b3c4.js"><link rel="prefetch" href="/note/assets/js/712.1dd70f9c.js"><link rel="prefetch" href="/note/assets/js/713.6293e0b1.js"><link rel="prefetch" href="/note/assets/js/714.00ad0b2c.js"><link rel="prefetch" href="/note/assets/js/715.02f3ae40.js"><link rel="prefetch" href="/note/assets/js/716.985af061.js"><link rel="prefetch" href="/note/assets/js/717.a9dc82ba.js"><link rel="prefetch" href="/note/assets/js/718.470aecb8.js"><link rel="prefetch" href="/note/assets/js/719.05151d52.js"><link rel="prefetch" href="/note/assets/js/72.65bb7d45.js"><link rel="prefetch" href="/note/assets/js/720.e6341abe.js"><link rel="prefetch" href="/note/assets/js/721.d21510c2.js"><link rel="prefetch" href="/note/assets/js/722.21c74cce.js"><link rel="prefetch" href="/note/assets/js/723.dbd01947.js"><link rel="prefetch" href="/note/assets/js/724.3108c989.js"><link rel="prefetch" href="/note/assets/js/725.d5d5da5d.js"><link rel="prefetch" href="/note/assets/js/726.f44b5e2c.js"><link rel="prefetch" href="/note/assets/js/727.44bb7c9d.js"><link rel="prefetch" href="/note/assets/js/728.eb433788.js"><link rel="prefetch" href="/note/assets/js/729.30bed0d3.js"><link rel="prefetch" href="/note/assets/js/73.aab3f242.js"><link rel="prefetch" href="/note/assets/js/730.1d1405bf.js"><link rel="prefetch" href="/note/assets/js/731.8491f231.js"><link rel="prefetch" href="/note/assets/js/732.3fddfa0c.js"><link rel="prefetch" href="/note/assets/js/733.87612280.js"><link rel="prefetch" href="/note/assets/js/734.e0b8247d.js"><link rel="prefetch" href="/note/assets/js/735.b9a0a080.js"><link rel="prefetch" href="/note/assets/js/736.d4bcbc26.js"><link rel="prefetch" href="/note/assets/js/737.88031879.js"><link rel="prefetch" href="/note/assets/js/738.f53c0e90.js"><link rel="prefetch" href="/note/assets/js/739.651ef584.js"><link rel="prefetch" href="/note/assets/js/74.a1f48c0e.js"><link rel="prefetch" href="/note/assets/js/740.4affb4dc.js"><link rel="prefetch" href="/note/assets/js/741.f5ae14dd.js"><link rel="prefetch" href="/note/assets/js/742.8b72d107.js"><link rel="prefetch" href="/note/assets/js/743.f1368778.js"><link rel="prefetch" href="/note/assets/js/744.8cd1d081.js"><link rel="prefetch" href="/note/assets/js/745.24c0b4be.js"><link rel="prefetch" href="/note/assets/js/746.32737779.js"><link rel="prefetch" href="/note/assets/js/747.26fdb978.js"><link rel="prefetch" href="/note/assets/js/748.01521664.js"><link rel="prefetch" href="/note/assets/js/749.b679d303.js"><link rel="prefetch" href="/note/assets/js/75.02d840b4.js"><link rel="prefetch" href="/note/assets/js/750.4466448a.js"><link rel="prefetch" href="/note/assets/js/751.8156f68b.js"><link rel="prefetch" href="/note/assets/js/752.6f286a81.js"><link rel="prefetch" href="/note/assets/js/753.5e206ab7.js"><link rel="prefetch" href="/note/assets/js/754.49424d6b.js"><link rel="prefetch" href="/note/assets/js/755.682896f2.js"><link rel="prefetch" href="/note/assets/js/756.a3831ed8.js"><link rel="prefetch" href="/note/assets/js/757.a9f2c3ad.js"><link rel="prefetch" href="/note/assets/js/758.81edb729.js"><link rel="prefetch" href="/note/assets/js/759.5f271872.js"><link rel="prefetch" href="/note/assets/js/76.3e8d2acf.js"><link rel="prefetch" href="/note/assets/js/760.b5d81e17.js"><link rel="prefetch" href="/note/assets/js/761.359b7d60.js"><link rel="prefetch" href="/note/assets/js/762.d09b32a2.js"><link rel="prefetch" href="/note/assets/js/763.7b8cc89c.js"><link rel="prefetch" href="/note/assets/js/764.25cf8e6e.js"><link rel="prefetch" href="/note/assets/js/765.5a7437b6.js"><link rel="prefetch" href="/note/assets/js/766.11f95344.js"><link rel="prefetch" href="/note/assets/js/767.97508dcf.js"><link rel="prefetch" href="/note/assets/js/768.6c3f0a3f.js"><link rel="prefetch" href="/note/assets/js/769.10b330ab.js"><link rel="prefetch" href="/note/assets/js/77.19339948.js"><link rel="prefetch" href="/note/assets/js/770.929d2e96.js"><link rel="prefetch" href="/note/assets/js/771.106e9119.js"><link rel="prefetch" href="/note/assets/js/772.f52e3926.js"><link rel="prefetch" href="/note/assets/js/773.7b8a3696.js"><link rel="prefetch" href="/note/assets/js/774.74591aa9.js"><link rel="prefetch" href="/note/assets/js/775.a9fe43e0.js"><link rel="prefetch" href="/note/assets/js/776.fa5178a0.js"><link rel="prefetch" href="/note/assets/js/777.dcedfca8.js"><link rel="prefetch" href="/note/assets/js/778.1aef6404.js"><link rel="prefetch" href="/note/assets/js/779.276c54d5.js"><link rel="prefetch" href="/note/assets/js/78.7be21eba.js"><link rel="prefetch" href="/note/assets/js/780.12fdf99f.js"><link rel="prefetch" href="/note/assets/js/781.061fd3c2.js"><link rel="prefetch" href="/note/assets/js/782.03897c37.js"><link rel="prefetch" href="/note/assets/js/783.d1934d0f.js"><link rel="prefetch" href="/note/assets/js/784.8a460df2.js"><link rel="prefetch" href="/note/assets/js/785.69039c2d.js"><link rel="prefetch" href="/note/assets/js/786.f7286e52.js"><link rel="prefetch" href="/note/assets/js/787.be75d37c.js"><link rel="prefetch" href="/note/assets/js/788.1d4f51de.js"><link rel="prefetch" href="/note/assets/js/789.d28c5fac.js"><link rel="prefetch" href="/note/assets/js/79.8e0e8627.js"><link rel="prefetch" href="/note/assets/js/790.03f9246d.js"><link rel="prefetch" href="/note/assets/js/791.5f23c757.js"><link rel="prefetch" href="/note/assets/js/792.eec3e372.js"><link rel="prefetch" href="/note/assets/js/793.b8512355.js"><link rel="prefetch" href="/note/assets/js/794.9c579c97.js"><link rel="prefetch" href="/note/assets/js/795.308fb331.js"><link rel="prefetch" href="/note/assets/js/796.4145e99d.js"><link rel="prefetch" href="/note/assets/js/797.def37412.js"><link rel="prefetch" href="/note/assets/js/798.3ca51a7f.js"><link rel="prefetch" href="/note/assets/js/799.26acaea3.js"><link rel="prefetch" href="/note/assets/js/8.904cd1f6.js"><link rel="prefetch" href="/note/assets/js/80.bb4ecbb0.js"><link rel="prefetch" href="/note/assets/js/800.7ff82907.js"><link rel="prefetch" href="/note/assets/js/801.a1ae965b.js"><link rel="prefetch" href="/note/assets/js/802.643a8fc8.js"><link rel="prefetch" href="/note/assets/js/803.f7801bfc.js"><link rel="prefetch" href="/note/assets/js/804.4413585f.js"><link rel="prefetch" href="/note/assets/js/805.2236d676.js"><link rel="prefetch" href="/note/assets/js/806.4ed49dc6.js"><link rel="prefetch" href="/note/assets/js/807.04b5a5a4.js"><link rel="prefetch" href="/note/assets/js/808.16a4bff4.js"><link rel="prefetch" href="/note/assets/js/809.99c9abbe.js"><link rel="prefetch" href="/note/assets/js/81.06cbf17d.js"><link rel="prefetch" href="/note/assets/js/810.363b35de.js"><link rel="prefetch" href="/note/assets/js/811.37e949dd.js"><link rel="prefetch" href="/note/assets/js/812.f07ef3ca.js"><link rel="prefetch" href="/note/assets/js/813.f319eee1.js"><link rel="prefetch" href="/note/assets/js/814.81404c65.js"><link rel="prefetch" href="/note/assets/js/815.1f35e474.js"><link rel="prefetch" href="/note/assets/js/816.3c5b557b.js"><link rel="prefetch" href="/note/assets/js/817.e813df3c.js"><link rel="prefetch" href="/note/assets/js/818.f6672c78.js"><link rel="prefetch" href="/note/assets/js/819.63539b6a.js"><link rel="prefetch" href="/note/assets/js/82.ea952de5.js"><link rel="prefetch" href="/note/assets/js/820.638758a4.js"><link rel="prefetch" href="/note/assets/js/821.1454c8d9.js"><link rel="prefetch" href="/note/assets/js/822.96e6a588.js"><link rel="prefetch" href="/note/assets/js/823.bef73b0c.js"><link rel="prefetch" href="/note/assets/js/824.868600cc.js"><link rel="prefetch" href="/note/assets/js/825.968beec5.js"><link rel="prefetch" href="/note/assets/js/826.96be0d72.js"><link rel="prefetch" href="/note/assets/js/827.11e681a7.js"><link rel="prefetch" href="/note/assets/js/828.f7cac165.js"><link rel="prefetch" href="/note/assets/js/829.7adac92e.js"><link rel="prefetch" href="/note/assets/js/83.18e33491.js"><link rel="prefetch" href="/note/assets/js/830.d7392e17.js"><link rel="prefetch" href="/note/assets/js/831.cdccd817.js"><link rel="prefetch" href="/note/assets/js/832.c0d34377.js"><link rel="prefetch" href="/note/assets/js/833.cfe8060a.js"><link rel="prefetch" href="/note/assets/js/834.30966a53.js"><link rel="prefetch" href="/note/assets/js/835.d635235d.js"><link rel="prefetch" href="/note/assets/js/836.2b5db5df.js"><link rel="prefetch" href="/note/assets/js/837.57aade67.js"><link rel="prefetch" href="/note/assets/js/838.c031cefb.js"><link rel="prefetch" href="/note/assets/js/839.6a0c57ec.js"><link rel="prefetch" href="/note/assets/js/84.a844a445.js"><link rel="prefetch" href="/note/assets/js/840.22b47af4.js"><link rel="prefetch" href="/note/assets/js/841.2c1928df.js"><link rel="prefetch" href="/note/assets/js/842.c759135d.js"><link rel="prefetch" href="/note/assets/js/843.a5b8dd58.js"><link rel="prefetch" href="/note/assets/js/844.f923348b.js"><link rel="prefetch" href="/note/assets/js/845.062eba56.js"><link rel="prefetch" href="/note/assets/js/846.87835849.js"><link rel="prefetch" href="/note/assets/js/847.f8826b8e.js"><link rel="prefetch" href="/note/assets/js/848.f7e841ae.js"><link rel="prefetch" href="/note/assets/js/849.760a3e83.js"><link rel="prefetch" href="/note/assets/js/85.0949aab6.js"><link rel="prefetch" href="/note/assets/js/850.a36a8661.js"><link rel="prefetch" href="/note/assets/js/851.3185e6e5.js"><link rel="prefetch" href="/note/assets/js/852.beee83b5.js"><link rel="prefetch" href="/note/assets/js/853.88eca547.js"><link rel="prefetch" href="/note/assets/js/854.e31e6e74.js"><link rel="prefetch" href="/note/assets/js/855.578bb7ec.js"><link rel="prefetch" href="/note/assets/js/856.10e74184.js"><link rel="prefetch" href="/note/assets/js/857.b15ac52f.js"><link rel="prefetch" href="/note/assets/js/858.301d87d6.js"><link rel="prefetch" href="/note/assets/js/859.122021e5.js"><link rel="prefetch" href="/note/assets/js/86.0485456f.js"><link rel="prefetch" href="/note/assets/js/860.6896449f.js"><link rel="prefetch" href="/note/assets/js/861.40a0334d.js"><link rel="prefetch" href="/note/assets/js/862.3e5dd1d6.js"><link rel="prefetch" href="/note/assets/js/863.3bec5383.js"><link rel="prefetch" href="/note/assets/js/864.05d3ee7f.js"><link rel="prefetch" href="/note/assets/js/865.f603ab30.js"><link rel="prefetch" href="/note/assets/js/866.99eb859c.js"><link rel="prefetch" href="/note/assets/js/867.44777be8.js"><link rel="prefetch" href="/note/assets/js/868.4d2c9f6e.js"><link rel="prefetch" href="/note/assets/js/869.6c58c4e2.js"><link rel="prefetch" href="/note/assets/js/87.f690dffd.js"><link rel="prefetch" href="/note/assets/js/870.ec7de8b1.js"><link rel="prefetch" href="/note/assets/js/871.de0ed4d4.js"><link rel="prefetch" href="/note/assets/js/872.3a67c480.js"><link rel="prefetch" href="/note/assets/js/873.05894606.js"><link rel="prefetch" href="/note/assets/js/874.af89c137.js"><link rel="prefetch" href="/note/assets/js/875.7ed22ba6.js"><link rel="prefetch" href="/note/assets/js/876.758bb782.js"><link rel="prefetch" href="/note/assets/js/877.a5afa34e.js"><link rel="prefetch" href="/note/assets/js/878.01456f7f.js"><link rel="prefetch" href="/note/assets/js/879.f809e37b.js"><link rel="prefetch" href="/note/assets/js/88.079a44b6.js"><link rel="prefetch" href="/note/assets/js/880.de37f4e2.js"><link rel="prefetch" href="/note/assets/js/881.7f4523e2.js"><link rel="prefetch" href="/note/assets/js/882.b45887a0.js"><link rel="prefetch" href="/note/assets/js/883.41c1abf5.js"><link rel="prefetch" href="/note/assets/js/884.6ee41cb6.js"><link rel="prefetch" href="/note/assets/js/885.667eeaa4.js"><link rel="prefetch" href="/note/assets/js/886.6a1be376.js"><link rel="prefetch" href="/note/assets/js/887.25039a6b.js"><link rel="prefetch" href="/note/assets/js/888.e30a8274.js"><link rel="prefetch" href="/note/assets/js/889.1ac4e845.js"><link rel="prefetch" href="/note/assets/js/89.c6f3021d.js"><link rel="prefetch" href="/note/assets/js/890.59ad67c3.js"><link rel="prefetch" href="/note/assets/js/891.89447650.js"><link rel="prefetch" href="/note/assets/js/892.e1e59f96.js"><link rel="prefetch" href="/note/assets/js/893.784befbb.js"><link rel="prefetch" href="/note/assets/js/894.31cc77d7.js"><link rel="prefetch" href="/note/assets/js/895.6d1ef60d.js"><link rel="prefetch" href="/note/assets/js/896.3db0d622.js"><link rel="prefetch" href="/note/assets/js/897.2838fef3.js"><link rel="prefetch" href="/note/assets/js/898.e1d87419.js"><link rel="prefetch" href="/note/assets/js/899.22bd5de9.js"><link rel="prefetch" href="/note/assets/js/9.eaed696a.js"><link rel="prefetch" href="/note/assets/js/90.aabc1e14.js"><link rel="prefetch" href="/note/assets/js/900.df372cc0.js"><link rel="prefetch" href="/note/assets/js/901.ef7412dd.js"><link rel="prefetch" href="/note/assets/js/902.4e4507da.js"><link rel="prefetch" href="/note/assets/js/903.5c6bf2de.js"><link rel="prefetch" href="/note/assets/js/904.b308abc8.js"><link rel="prefetch" href="/note/assets/js/905.6e63ec02.js"><link rel="prefetch" href="/note/assets/js/906.ad00a1d4.js"><link rel="prefetch" href="/note/assets/js/907.7ccc8dd6.js"><link rel="prefetch" href="/note/assets/js/908.41f7a4b1.js"><link rel="prefetch" href="/note/assets/js/909.4f61534e.js"><link rel="prefetch" href="/note/assets/js/91.6d3f2db2.js"><link rel="prefetch" href="/note/assets/js/910.2188a756.js"><link rel="prefetch" href="/note/assets/js/911.5681a2a9.js"><link rel="prefetch" href="/note/assets/js/912.fd0e2682.js"><link rel="prefetch" href="/note/assets/js/913.8cab6112.js"><link rel="prefetch" href="/note/assets/js/914.0c742210.js"><link rel="prefetch" href="/note/assets/js/915.7a1889a7.js"><link rel="prefetch" href="/note/assets/js/916.3cb9f061.js"><link rel="prefetch" href="/note/assets/js/917.4cc25b33.js"><link rel="prefetch" href="/note/assets/js/918.5d6be300.js"><link rel="prefetch" href="/note/assets/js/919.9270d17e.js"><link rel="prefetch" href="/note/assets/js/92.09feae02.js"><link rel="prefetch" href="/note/assets/js/920.1af52593.js"><link rel="prefetch" href="/note/assets/js/921.209231cf.js"><link rel="prefetch" href="/note/assets/js/922.2c4fa633.js"><link rel="prefetch" href="/note/assets/js/923.75c81a10.js"><link rel="prefetch" href="/note/assets/js/924.11ab2622.js"><link rel="prefetch" href="/note/assets/js/925.fcbb775c.js"><link rel="prefetch" href="/note/assets/js/926.7cded731.js"><link rel="prefetch" href="/note/assets/js/927.9f70328c.js"><link rel="prefetch" href="/note/assets/js/928.2011118a.js"><link rel="prefetch" href="/note/assets/js/929.dbfb8d8d.js"><link rel="prefetch" href="/note/assets/js/93.7039a6d3.js"><link rel="prefetch" href="/note/assets/js/930.fed987d3.js"><link rel="prefetch" href="/note/assets/js/931.797bc5cd.js"><link rel="prefetch" href="/note/assets/js/932.86adfe15.js"><link rel="prefetch" href="/note/assets/js/933.5d1fc301.js"><link rel="prefetch" href="/note/assets/js/934.f6a011cb.js"><link rel="prefetch" href="/note/assets/js/935.7ff175c5.js"><link rel="prefetch" href="/note/assets/js/936.78b1b947.js"><link rel="prefetch" href="/note/assets/js/937.9365e8f6.js"><link rel="prefetch" href="/note/assets/js/938.22d2cb42.js"><link rel="prefetch" href="/note/assets/js/939.94c9ad24.js"><link rel="prefetch" href="/note/assets/js/94.a3f61846.js"><link rel="prefetch" href="/note/assets/js/940.002f34b5.js"><link rel="prefetch" href="/note/assets/js/941.67831f2a.js"><link rel="prefetch" href="/note/assets/js/942.758a6a37.js"><link rel="prefetch" href="/note/assets/js/943.e6c1b022.js"><link rel="prefetch" href="/note/assets/js/944.12957ff8.js"><link rel="prefetch" href="/note/assets/js/945.813c4647.js"><link rel="prefetch" href="/note/assets/js/946.e165520f.js"><link rel="prefetch" href="/note/assets/js/947.15c915f3.js"><link rel="prefetch" href="/note/assets/js/948.afa964ed.js"><link rel="prefetch" href="/note/assets/js/949.95296aaa.js"><link rel="prefetch" href="/note/assets/js/95.43b7bb25.js"><link rel="prefetch" href="/note/assets/js/950.ab4c98ae.js"><link rel="prefetch" href="/note/assets/js/951.40a7b95d.js"><link rel="prefetch" href="/note/assets/js/952.7de23731.js"><link rel="prefetch" href="/note/assets/js/953.189c5094.js"><link rel="prefetch" href="/note/assets/js/954.86113b04.js"><link rel="prefetch" href="/note/assets/js/955.cf54af35.js"><link rel="prefetch" href="/note/assets/js/956.075739dc.js"><link rel="prefetch" href="/note/assets/js/957.edd567bb.js"><link rel="prefetch" href="/note/assets/js/958.624752dd.js"><link rel="prefetch" href="/note/assets/js/959.992d8b9d.js"><link rel="prefetch" href="/note/assets/js/96.b9c0bcfb.js"><link rel="prefetch" href="/note/assets/js/960.dda45067.js"><link rel="prefetch" href="/note/assets/js/961.7943dc34.js"><link rel="prefetch" href="/note/assets/js/962.5b7fd272.js"><link rel="prefetch" href="/note/assets/js/963.8aec3810.js"><link rel="prefetch" href="/note/assets/js/964.a831d3f0.js"><link rel="prefetch" href="/note/assets/js/965.8a5c9c1d.js"><link rel="prefetch" href="/note/assets/js/966.ad16f5d2.js"><link rel="prefetch" href="/note/assets/js/967.40c6a26a.js"><link rel="prefetch" href="/note/assets/js/968.c46f38b9.js"><link rel="prefetch" href="/note/assets/js/969.018f8243.js"><link rel="prefetch" href="/note/assets/js/97.93da0ee5.js"><link rel="prefetch" href="/note/assets/js/970.ebafbf1a.js"><link rel="prefetch" href="/note/assets/js/971.0207ccbb.js"><link rel="prefetch" href="/note/assets/js/972.21a0deb8.js"><link rel="prefetch" href="/note/assets/js/973.382eb80e.js"><link rel="prefetch" href="/note/assets/js/974.e7f00955.js"><link rel="prefetch" href="/note/assets/js/975.6aae1f41.js"><link rel="prefetch" href="/note/assets/js/976.14351d69.js"><link rel="prefetch" href="/note/assets/js/977.1deef1b6.js"><link rel="prefetch" href="/note/assets/js/978.ecf51f8a.js"><link rel="prefetch" href="/note/assets/js/979.393ffd74.js"><link rel="prefetch" href="/note/assets/js/98.18963e18.js"><link rel="prefetch" href="/note/assets/js/980.6635e719.js"><link rel="prefetch" href="/note/assets/js/981.7a6a9ee1.js"><link rel="prefetch" href="/note/assets/js/982.bfe53f7c.js"><link rel="prefetch" href="/note/assets/js/983.02a636d5.js"><link rel="prefetch" href="/note/assets/js/984.7d093e07.js"><link rel="prefetch" href="/note/assets/js/985.257e283c.js"><link rel="prefetch" href="/note/assets/js/986.c4c37444.js"><link rel="prefetch" href="/note/assets/js/987.7c805e18.js"><link rel="prefetch" href="/note/assets/js/988.2878ff5e.js"><link rel="prefetch" href="/note/assets/js/989.5c12d74f.js"><link rel="prefetch" href="/note/assets/js/99.c60f4160.js"><link rel="prefetch" href="/note/assets/js/990.5afcfa0a.js"><link rel="prefetch" href="/note/assets/js/991.16cad98c.js"><link rel="prefetch" href="/note/assets/js/992.9250dbdc.js"><link rel="prefetch" href="/note/assets/js/993.f85a4753.js"><link rel="prefetch" href="/note/assets/js/994.a7ff6289.js"><link rel="prefetch" href="/note/assets/js/995.fa8a0290.js"><link rel="prefetch" href="/note/assets/js/996.8703c0f0.js"><link rel="prefetch" href="/note/assets/js/997.d0f8d641.js"><link rel="prefetch" href="/note/assets/js/998.42fae48f.js"><link rel="prefetch" href="/note/assets/js/999.155129fe.js">
    <link rel="stylesheet" href="/note/assets/css/0.styles.053a9293.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/note/" class="home-link router-link-active"><!----> <span class="site-name">Note</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Cstech Stone(灵)" class="dropdown-title"><span class="title">Cstech Stone(灵)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch1-core-fullstack/" class="nav-link">
  Core Fullstack
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch2-lang-program/" class="nav-link">
  Lang Program
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch3-hardware-chip/" class="nav-link">
  Hardware Chip
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch4-software-eng/" class="nav-link">
  Software Eng
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch5-os-linux/" class="nav-link">
  Os Linux
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch6-storage-db/" class="nav-link">
  Storage Db
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch7-senses-vision/" class="nav-link">
  Senses Vision
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch8-net-protocol/" class="nav-link">
  Net Protocol
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch9-security-crypto/" class="nav-link">
  Security Crypto
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Tools Rapier(兵)" class="dropdown-title"><span class="title">Tools Rapier(兵)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch1-core-roadmap/" class="nav-link">
  Core Roadmap
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch2-lang-translate/" class="nav-link">
  Lang Translate
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch3-origin-library/" class="nav-link">
  Origin Library
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch4-ecology-expert/" class="nav-link">
  Ecology Expert
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch5-design-style/" class="nav-link">
  Design Style
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch6-studio-devtools/" class="nav-link">
  Studio Devtools
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch7-office-media/" class="nav-link">
  Office Media
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch8-materials-daily/" class="nav-link">
  Materials Daily
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch9-skills-improve/" class="nav-link">
  Skills Improve
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Algorithm Nut(斗)" class="dropdown-title"><span class="title">Algorithm Nut(斗)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch1-core-spec/" class="nav-link">
  Core Spec
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch2-lang-fakecode/" class="nav-link">
  Lang Fakecode
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch3-design-pattern/" class="nav-link">
  Design Pattern
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch4-data-structure/" class="nav-link">
  Data Structure
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch5-sorting-search/" class="nav-link">
  Sorting Search
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch6-model-nutlet/" class="nav-link">
  Model Nutlet
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch7-scenario-biz/" class="nav-link">
  Scenario Biz
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch8-contest-ladder/" class="nav-link">
  Contest Ladder
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Service Java(者)" class="dropdown-title"><span class="title">Service Java(者)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch1-core-oop/" class="nav-link">
  Core Oop
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch2-utils-crud/" class="nav-link">
  Utils Crud
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch3-web-springboot/" class="nav-link">
  Web Springboot
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch4-micro-cloud/" class="nav-link">
  Micro Cloud
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch5-devops-native/" class="nav-link">
  Devops Native
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch6-compute-faas/" class="nav-link">
  Compute Faas
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch7-perf-jvm/" class="nav-link">
  Perf Jvm
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch8-arch-pmp/" class="nav-link">
  Arch Pmp
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Ui Javascript(皆)" class="dropdown-title"><span class="title">Ui Javascript(皆)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch1-core-prototype/" class="nav-link router-link-active">
  Core Prototype
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch2-component-mvc/" class="nav-link">
  Component Mvc
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch3-web3-html5/" class="nav-link">
  Web3 Html5
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch4-service-nodejs/" class="nav-link">
  Service Nodejs
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch5-devops-scaffold/" class="nav-link">
  Devops Scaffold
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch6-hybrid-webapp/" class="nav-link">
  Hybrid Webapp
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch7-visualizing-datav/" class="nav-link">
  Visualizing Datav
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch8-interaction-gl/" class="nav-link">
  Interaction Gl
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Data Python(数)" class="dropdown-title"><span class="title">Data Python(数)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch1-core-pymath/" class="nav-link">
  Core Pymath
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch2-utils-dataset/" class="nav-link">
  Utils Dataset
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch3-web-django/" class="nav-link">
  Web Django
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch4-analysis-bigdata/" class="nav-link">
  Analysis Bigdata
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch5-devops-auto/" class="nav-link">
  Devops Auto
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch6-ai-machine/" class="nav-link">
  Ai Machine
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch7-visualizing-gui/" class="nav-link">
  Visualizing Gui
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch8-control-embed/" class="nav-link">
  Control Embed
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Terminal Wave(组)" class="dropdown-title"><span class="title">Terminal Wave(组)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch1-core-market/" class="nav-link">
  Core Market
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch2-pc-windows/" class="nav-link">
  Pc Windows
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch3-mobile-android/" class="nav-link">
  Mobile Android
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch4-hybrid-flutter/" class="nav-link">
  Hybrid Flutter
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch5-game-unity3d/" class="nav-link">
  Game Unity3d
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch6-wearables-watch/" class="nav-link">
  Wearables Watch
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch7-remote-uav/" class="nav-link">
  Remote Uav
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch8-assembly-robot/" class="nav-link">
  Assembly Robot
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch9-smart-home/" class="nav-link">
  Smart Home
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Thought Sparks(前)" class="dropdown-title"><span class="title">Thought Sparks(前)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch1-core-learning/" class="nav-link">
  Core Learning
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch2-world-science/" class="nav-link">
  World Science
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch3-culture-history/" class="nav-link">
  Culture History
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch4-society-cake/" class="nav-link">
  Society Cake
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch5-values-relife/" class="nav-link">
  Values Relife
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch6-mind-island/" class="nav-link">
  Mind Island
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch7-manage-habit/" class="nav-link">
  Manage Habit
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch8-trend-future/" class="nav-link">
  Trend Future
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch9-planning-career/" class="nav-link">
  Planning Career
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Hobby Mobius(行)" class="dropdown-title"><span class="title">Hobby Mobius(行)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch1-core-lifestyle/" class="nav-link">
  Core Lifestyle
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch2-dance-fitness/" class="nav-link">
  Dance Fitness
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch3-painting-mark/" class="nav-link">
  Painting Mark
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch4-music-poem/" class="nav-link">
  Music Poem
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch5-writing-novel/" class="nav-link">
  Writing Novel
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch6-movie-poster/" class="nav-link">
  Movie Poster
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch7-cooking-taste/" class="nav-link">
  Cooking Taste
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch8-garden-pets/" class="nav-link">
  Garden Pets
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch9-travel-drive/" class="nav-link">
  Travel Drive
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="关于" class="dropdown-title"><span class="title">关于</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/luo0412" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Github
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-item"><!----> <a href="/note/about-me.html" class="nav-link">
  关于我
</a></li><li class="dropdown-item"><!----> <a href="/note/inspired-by.html" class="nav-link">
  笔记灵感
</a></li><li class="dropdown-item"><!----> <a href="/note/md-style.html" class="nav-link">
  风格指南
</a></li><li class="dropdown-item"><!----> <a href="/note/related-links.html" class="nav-link">
  友情链接
</a></li></ul></div></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Cstech Stone(灵)" class="dropdown-title"><span class="title">Cstech Stone(灵)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch1-core-fullstack/" class="nav-link">
  Core Fullstack
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch2-lang-program/" class="nav-link">
  Lang Program
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch3-hardware-chip/" class="nav-link">
  Hardware Chip
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch4-software-eng/" class="nav-link">
  Software Eng
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch5-os-linux/" class="nav-link">
  Os Linux
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch6-storage-db/" class="nav-link">
  Storage Db
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch7-senses-vision/" class="nav-link">
  Senses Vision
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch8-net-protocol/" class="nav-link">
  Net Protocol
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.0.cstech-stone/ch9-security-crypto/" class="nav-link">
  Security Crypto
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Tools Rapier(兵)" class="dropdown-title"><span class="title">Tools Rapier(兵)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch1-core-roadmap/" class="nav-link">
  Core Roadmap
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch2-lang-translate/" class="nav-link">
  Lang Translate
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch3-origin-library/" class="nav-link">
  Origin Library
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch4-ecology-expert/" class="nav-link">
  Ecology Expert
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch5-design-style/" class="nav-link">
  Design Style
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch6-studio-devtools/" class="nav-link">
  Studio Devtools
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch7-office-media/" class="nav-link">
  Office Media
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch8-materials-daily/" class="nav-link">
  Materials Daily
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.1.tools-rapier/ch9-skills-improve/" class="nav-link">
  Skills Improve
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Algorithm Nut(斗)" class="dropdown-title"><span class="title">Algorithm Nut(斗)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch1-core-spec/" class="nav-link">
  Core Spec
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch2-lang-fakecode/" class="nav-link">
  Lang Fakecode
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch3-design-pattern/" class="nav-link">
  Design Pattern
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch4-data-structure/" class="nav-link">
  Data Structure
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch5-sorting-search/" class="nav-link">
  Sorting Search
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch6-model-nutlet/" class="nav-link">
  Model Nutlet
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch7-scenario-biz/" class="nav-link">
  Scenario Biz
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch8-contest-ladder/" class="nav-link">
  Contest Ladder
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.2.algorithm-nut/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Service Java(者)" class="dropdown-title"><span class="title">Service Java(者)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch1-core-oop/" class="nav-link">
  Core Oop
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch2-utils-crud/" class="nav-link">
  Utils Crud
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch3-web-springboot/" class="nav-link">
  Web Springboot
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch4-micro-cloud/" class="nav-link">
  Micro Cloud
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch5-devops-native/" class="nav-link">
  Devops Native
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch6-compute-faas/" class="nav-link">
  Compute Faas
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch7-perf-jvm/" class="nav-link">
  Perf Jvm
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch8-arch-pmp/" class="nav-link">
  Arch Pmp
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.3.service-java/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Ui Javascript(皆)" class="dropdown-title"><span class="title">Ui Javascript(皆)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch1-core-prototype/" class="nav-link router-link-active">
  Core Prototype
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch2-component-mvc/" class="nav-link">
  Component Mvc
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch3-web3-html5/" class="nav-link">
  Web3 Html5
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch4-service-nodejs/" class="nav-link">
  Service Nodejs
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch5-devops-scaffold/" class="nav-link">
  Devops Scaffold
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch6-hybrid-webapp/" class="nav-link">
  Hybrid Webapp
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch7-visualizing-datav/" class="nav-link">
  Visualizing Datav
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch8-interaction-gl/" class="nav-link">
  Interaction Gl
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.4.ui-javascript/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Data Python(数)" class="dropdown-title"><span class="title">Data Python(数)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch1-core-pymath/" class="nav-link">
  Core Pymath
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch2-utils-dataset/" class="nav-link">
  Utils Dataset
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch3-web-django/" class="nav-link">
  Web Django
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch4-analysis-bigdata/" class="nav-link">
  Analysis Bigdata
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch5-devops-auto/" class="nav-link">
  Devops Auto
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch6-ai-machine/" class="nav-link">
  Ai Machine
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch7-visualizing-gui/" class="nav-link">
  Visualizing Gui
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch8-control-embed/" class="nav-link">
  Control Embed
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.5.data-python/ch9-code-interview/" class="nav-link">
  Code Interview
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Terminal Wave(组)" class="dropdown-title"><span class="title">Terminal Wave(组)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch1-core-market/" class="nav-link">
  Core Market
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch2-pc-windows/" class="nav-link">
  Pc Windows
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch3-mobile-android/" class="nav-link">
  Mobile Android
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch4-hybrid-flutter/" class="nav-link">
  Hybrid Flutter
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch5-game-unity3d/" class="nav-link">
  Game Unity3d
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch6-wearables-watch/" class="nav-link">
  Wearables Watch
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch7-remote-uav/" class="nav-link">
  Remote Uav
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch8-assembly-robot/" class="nav-link">
  Assembly Robot
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.6.terminal-wave/ch9-smart-home/" class="nav-link">
  Smart Home
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Thought Sparks(前)" class="dropdown-title"><span class="title">Thought Sparks(前)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch1-core-learning/" class="nav-link">
  Core Learning
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch2-world-science/" class="nav-link">
  World Science
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch3-culture-history/" class="nav-link">
  Culture History
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch4-society-cake/" class="nav-link">
  Society Cake
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch5-values-relife/" class="nav-link">
  Values Relife
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch6-mind-island/" class="nav-link">
  Mind Island
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch7-manage-habit/" class="nav-link">
  Manage Habit
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch8-trend-future/" class="nav-link">
  Trend Future
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.7.thought-sparks/ch9-planning-career/" class="nav-link">
  Planning Career
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Hobby Mobius(行)" class="dropdown-title"><span class="title">Hobby Mobius(行)</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch1-core-lifestyle/" class="nav-link">
  Core Lifestyle
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch2-dance-fitness/" class="nav-link">
  Dance Fitness
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch3-painting-mark/" class="nav-link">
  Painting Mark
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch4-music-poem/" class="nav-link">
  Music Poem
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch5-writing-novel/" class="nav-link">
  Writing Novel
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch6-movie-poster/" class="nav-link">
  Movie Poster
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch7-cooking-taste/" class="nav-link">
  Cooking Taste
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch8-garden-pets/" class="nav-link">
  Garden Pets
</a></li><li class="dropdown-item"><!----> <a href="/note/nav.8.hobby-mobius/ch9-travel-drive/" class="nav-link">
  Travel Drive
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="关于" class="dropdown-title"><span class="title">关于</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/luo0412" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Github
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-item"><!----> <a href="/note/about-me.html" class="nav-link">
  关于我
</a></li><li class="dropdown-item"><!----> <a href="/note/inspired-by.html" class="nav-link">
  笔记灵感
</a></li><li class="dropdown-item"><!----> <a href="/note/md-style.html" class="nav-link">
  风格指南
</a></li><li class="dropdown-item"><!----> <a href="/note/related-links.html" class="nav-link">
  友情链接
</a></li></ul></div></div> <!----></nav>  <ul class="sidebar-links"><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/" aria-current="page" class="sidebar-link">README</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/01--ji-chu--jing-dianjavascript-ecma5.html" aria-current="page" class="active sidebar-link">[基础]经典JavaScript(ECMA5)</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/02-note-javascript-gao-ji-cheng-xu-she-ji-201203.html" class="sidebar-link">[Note]JavaScript高级程序设计</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/03-note-javascript-quan-wei-zhi-nan-2012-v6.html" class="sidebar-link">[Note]JavaScript权威指南(v6)</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/08--ti-gang-javascript--cha-lou-bu-que--nei-shang.html" class="sidebar-link">[提纲]JavaScript-查漏补缺</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/11-note-javascript-yu-yan-jing-sui-yu-bian-cheng-shi-jian-202006-v3.html" class="sidebar-link">[Note]JavaScript语言精髓与编程实践(v3)</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Babel</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/babel/01--ji-chu-babel.html" class="sidebar-link">[基础]Babel</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Ecma</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>Case</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/ecma/case/01--ji-chu-es2015.html" class="sidebar-link">[基础]ES2015</a></li></ul></section></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/ecma/02--ti-gang-ecma-biao-zhun.html" class="sidebar-link">[提纲]ECMA标准</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Mode</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/mode/01-javascript--han-shu-shi-bian-cheng.html" class="sidebar-link">[基础]JavaScript-函数式编程</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Typescript</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>Old</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/typescript/old/01--ji-chu-flow-type.html" class="sidebar-link">[基础]flow-type</a></li></ul></section></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/typescript/01--ji-chu-typescript.html" class="sidebar-link">[基础]TypeScript</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/typescript/02--ti-gang-typescript--ji-qiao-yu-zui-jia-shi-jian.html" class="sidebar-link">[提纲]TypeScript技巧与最佳实践</a></li><li><a href="/note/nav.4.ui-javascript/ch1-core-prototype/typescript/03--sheng-tai-typescript--mo-ban.html" class="sidebar-link">[生态]TypeScript-模板</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="基础-经典javascript-ecma5"><a href="#基础-经典javascript-ecma5" class="header-anchor">#</a> [基础]经典JavaScript(ECMA5)</h1> <blockquote><p>@todo 待整理</p></blockquote> <ul><li>关于JS中一些重要的api实现, 巩固你的原生JS功底 @digest @todo
<ul><li><a href="https://juejin.im/entry/5d637280e51d456201486e66" target="_blank" rel="noopener noreferrer">https://juejin.im/entry/5d637280e51d456201486e66<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <h1 id="javascript-资源"><a href="#javascript-资源" class="header-anchor">#</a> JavaScript-资源</h1> <ul><li><p>wtfjs</p> <ul><li>What the f*ck JavaScript?</li> <li><a href="https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md" target="_blank" rel="noopener noreferrer">https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>You-Dont-Know-JS</p> <ul><li><a href="https://github.com/getify/You-Dont-Know-JS" target="_blank" rel="noopener noreferrer">https://github.com/getify/You-Dont-Know-JS<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>mostly-adequate-guide</p> <ul><li><a href="https://github.com/MostlyAdequate/mostly-adequate-guide" target="_blank" rel="noopener noreferrer">https://github.com/MostlyAdequate/mostly-adequate-guide<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>JavaScript深入系列15篇-正式完结</p> <ul><li>@by 讶羽</li> <li><a href="https://juejin.im/post/59278e312f301e006c2e1510" target="_blank" rel="noopener noreferrer">https://juejin.im/post/59278e312f301e006c2e1510<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <h1 id="javascript-系列-nice"><a href="#javascript-系列-nice" class="header-anchor">#</a> JavaScript-系列 @nice</h1> <ul><li>JavaScript30
<ul><li><a href="https://github.com/wesbos/JavaScript30" target="_blank" rel="noopener noreferrer">https://github.com/wesbos/JavaScript30<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li>33-js-concepts @nice
<ul><li><a href="https://github.com/leonardomso/33-js-concepts" target="_blank" rel="noopener noreferrer">https://github.com/leonardomso/33-js-concepts<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li> <li>@zh https://github.com/stephentian/33-js-concepts</li></ul></li> <li>jstips @old
<ul><li><a href="https://github.com/loverajoel/jstips" target="_blank" rel="noopener noreferrer">https://github.com/loverajoel/jstips<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <h1 id="javascript-路线"><a href="#javascript-路线" class="header-anchor">#</a> JavaScript-路线</h1> <ul><li>从2.4万篇文章中挑出的最棒的 JavaScript 学习指南 @todo
<ul><li><a href="https://juejin.im/entry/5a69db996fb9a01caa20bb23" target="_blank" rel="noopener noreferrer">https://juejin.im/entry/5a69db996fb9a01caa20bb23<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <hr> <h1 id="javascript-教程"><a href="#javascript-教程" class="header-anchor">#</a> JavaScript-教程</h1> <ul><li>廖雪峰-JavaScript教程
<ul><li><a href="https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000" target="_blank" rel="noopener noreferrer">https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <h1 id="javascrpt-语言"><a href="#javascrpt-语言" class="header-anchor">#</a> JavaScrpt-语言</h1> <blockquote><p>Browser JS ≈ ECMA + DOM + BOM</p></blockquote> <ul><li>一门基于对象和事件驱动并具有安全性的脚本语言</li> <li>现代浏览器完全支持ES5标准</li> <li>Unicode <a href="https://rainsoft.io/what-every-javascript-developer-should-know-about-unicode/" target="_blank" rel="noopener noreferrer">https://rainsoft.io/what-every-javascript-developer-should-know-about-unicode/<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 宿主语言</span>
Web 浏览器只是 ECMAScript 实现可能的宿主环境之一
其他宿主环境包括Node、Adobe、Flash

<span class="token comment">// 安全性表现</span>
<span class="token function">不允许访问本地硬盘</span><span class="token punctuation">(</span>但firefox可以运行webGL<span class="token punctuation">)</span>
是否可以对文档进行编辑<span class="token operator">?</span> <span class="token constant">HTML5</span>对此的冲击 editable

<span class="token comment">// 人物关系</span>
<span class="token constant">ECMA</span><span class="token operator">-</span><span class="token number">262</span> <span class="token punctuation">(</span>真名<span class="token punctuation">)</span>
Brendan <span class="token function">Eich</span><span class="token punctuation">(</span>他爸<span class="token punctuation">)</span>
<span class="token function">Netscape</span><span class="token punctuation">(</span>死去的奶妈<span class="token punctuation">)</span>
<span class="token function">JScript</span><span class="token punctuation">(</span>半死不活的对手 <span class="token operator">-</span><span class="token operator">&gt;</span> 已死<span class="token punctuation">)</span>
<span class="token function">typeScript</span><span class="token punctuation">(</span>涅槃重生 极有可能未来方向？？<span class="token punctuation">)</span>
</code></pre></div><hr> <h1 id="语法"><a href="#语法" class="header-anchor">#</a> 语法</h1> <ul><li>基础</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// href操作</span>
href<span class="token operator">=</span><span class="token string">&quot;#&quot;</span>
href<span class="token operator">=</span><span class="token string">&quot;javascript:void(0)&quot;</span>  <span class="token comment">// 优于href=&quot;&quot;</span>
href<span class="token operator">=</span><span class="token string">&quot;javascript:void(console.log('Warning!!!'))&quot;</span>
href<span class="token operator">=</span><span class="token string">&quot;javascript:test();&quot;</span> <span class="token comment">// 执行此全局函数</span>

<span class="token comment">// 论如何弄死链接</span>
方法一<span class="token operator">:</span> <span class="token operator">&lt;</span>a href<span class="token operator">=</span><span class="token string">&quot;##&quot;</span><span class="token operator">&gt;</span>点击<span class="token operator">&lt;</span><span class="token operator">/</span>a<span class="token operator">&gt;</span>
方法二<span class="token operator">:</span> <span class="token operator">&lt;</span>a href<span class="token operator">=</span><span class="token string">&quot;javascript::&quot;</span><span class="token operator">&gt;</span>点击<span class="token operator">&lt;</span><span class="token operator">/</span>a<span class="token operator">&gt;</span>
方法三<span class="token operator">:</span> <span class="token operator">&lt;</span>a href<span class="token operator">=</span><span class="token string">&quot;Javascript:void(0);&quot;</span><span class="token operator">&gt;</span>点击<span class="token operator">&lt;</span><span class="token operator">/</span>a<span class="token operator">&gt;</span>

<span class="token comment">// encodeURI decodeURI </span>
<span class="token keyword">var</span> uri <span class="token operator">=</span> <span class="token string">&quot;http://www.wrox.com/illegal value.htm#start&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">encodeURI</span><span class="token punctuation">(</span>uri<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;http://www.wrox.com/illegal%20value.htm#start&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">encodeURIComponent</span><span class="token punctuation">(</span>uri<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start&quot;</span>

<span class="token keyword">var</span> uri <span class="token operator">=</span> <span class="token string">&quot;http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">decodeURI</span><span class="token punctuation">(</span>uri<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// http%3A%2F%2Fwww.wrox.com%2Fillegal value.htm%23start</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">decodeURIComponent</span><span class="token punctuation">(</span>uri<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// http://www.wrox.com/illegal value.htm#start</span>


<span class="token comment">// switch</span>
使用<span class="token operator">===</span>进行比较<span class="token punctuation">,</span>对比对象可以是任意类型

<span class="token comment">// return的作用</span>
<span class="token number">1</span><span class="token operator">/</span><span class="token punctuation">.</span>暴露出去
<span class="token number">2</span><span class="token operator">/</span><span class="token punctuation">.</span>退出函数
让函数始终都返回一个值，或者永远都不要返回值

<span class="token comment">// break和continuet</span>
跳出的是代码块而已
<span class="token keyword">var</span> cars<span class="token operator">=</span><span class="token punctuation">[</span><span class="token string">&quot;BMW&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Volvo&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Saab&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Ford&quot;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
list<span class="token operator">:</span>
<span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>cars<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>cars<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>cars<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">break</span> list<span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>cars<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// this</span>
<span class="token operator">&lt;</span>button onclick<span class="token operator">=</span><span class="token string">&quot;this.innerHTML=Date()&quot;</span><span class="token operator">&gt;</span>现在的时间是<span class="token operator">?</span><span class="token operator">&lt;</span><span class="token operator">/</span>button<span class="token operator">&gt;</span>

<span class="token comment">// for-in循环</span>
性能不佳
且输出顺序不可测

要迭代的对象的变量值为 <span class="token keyword">null</span> 或 <span class="token keyword">undefined</span>，
<span class="token keyword">for</span><span class="token operator">-</span><span class="token keyword">in</span> 语句及不执行<span class="token punctuation">,</span> 也不抛出错误<span class="token punctuation">,</span>
建议在使用 <span class="token keyword">for</span><span class="token operator">-</span><span class="token keyword">in</span> 循环之前，先检测确认该对象的值不是 <span class="token keyword">null</span> 或 <span class="token keyword">undefined</span>
</code></pre></div><ul><li>变量提升</li></ul> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token comment">// void</span>
<span class="token keyword">function</span> <span class="token function">getValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token keyword">var</span> a<span class="token punctuation">,</span> b<span class="token punctuation">,</span> c<span class="token punctuation">;</span>
    a <span class="token operator">=</span> <span class="token keyword">void</span> <span class="token punctuation">(</span> b <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">,</span> c <span class="token operator">=</span> <span class="token number">7</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">// undefined</span>
<span class="token punctuation">}</span>

<span class="token comment">// 再次声名, 值不会丢失</span>
<span class="token keyword">var</span> carname<span class="token operator">=</span><span class="token string">&quot;Volvo&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> carname<span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>carname<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Volvo</span>

<span class="token comment">// 提升的是变量不是赋值</span>
<span class="token keyword">var</span> y<span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// undefined</span>
y <span class="token operator">=</span> <span class="token number">7</span><span class="token punctuation">;</span>

<span class="token comment">// use strict</span>
在脚本或函数的头部位置添加
可以为新版本作铺垫
若考虑大型项目在用情况，需注意

<span class="token keyword">var</span>强制性声名
禁止<span class="token keyword">this</span>关键字指向全局对象 @eg 函数中的<span class="token keyword">this</span>不再指向全局
巴拉巴拉<span class="token operator">...</span><span class="token operator">...</span>
</code></pre></div><ul><li>打印输出</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 打印输出</span>
js shell等中的print
innerHTML
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
window<span class="token punctuation">.</span>console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token comment">// 注意执行覆盖</span>
document<span class="token punctuation">.</span><span class="token function">writeln</span><span class="token punctuation">(</span><span class="token punctuation">)</span>  
</code></pre></div><ul><li>字符串</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 字符串</span>
toString<span class="token punctuation">,</span> toLocaleString
toFixed  toExponential <span class="token function">toPrecision</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
不要<span class="token keyword">new</span>一个对象<span class="token punctuation">,</span> 对象会拖慢速度<span class="token punctuation">,</span> 现实中亦如此<span class="token operator">...</span>
<span class="token string">&quot;It's alright&quot;</span><span class="token punctuation">;</span>
<span class="token string">&quot;He is called 'Johnny'&quot;</span><span class="token punctuation">;</span>
<span class="token string">'He is called &quot;Johnny&quot;'</span><span class="token punctuation">;</span>

<span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token string">&quot;John&quot;</span><span class="token punctuation">,</span>
y <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">&quot;John&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>x <span class="token operator">===</span> y<span class="token punctuation">)</span> <span class="token comment">// false</span>

<span class="token keyword">var</span> arr <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">&quot;hello &quot;</span><span class="token punctuation">,</span><span class="token string">&quot;world &quot;</span><span class="token punctuation">,</span><span class="token string">&quot;JS &quot;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>arr<span class="token punctuation">.</span><span class="token function">toLocaleString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// hello ,world ,JS</span>

<span class="token keyword">var</span> num <span class="token operator">=</span> <span class="token number">10000</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num<span class="token punctuation">.</span><span class="token function">toExponential</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">//1.00e+4</span>

<span class="token keyword">var</span> num <span class="token operator">=</span> <span class="token number">99</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num<span class="token punctuation">.</span><span class="token function">toPrecision</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;1e+2&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num<span class="token punctuation">.</span><span class="token function">toPrecision</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;99&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num<span class="token punctuation">.</span><span class="token function">toPrecision</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;99.0&quot;</span>


<span class="token keyword">var</span> htmlstr <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>title<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">: &lt;select  onChange='bindEvent(this)'&gt;&lt;option value=&quot;0&quot;&gt;--请选择</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>title<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">--&lt;/option&gt;</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>opt<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">&lt;/select&gt;</span><span class="token template-punctuation string">`</span></span>
<span class="token keyword">this</span><span class="token punctuation">.</span>dom<span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> htmlstr<span class="token punctuation">;</span>
</code></pre></div><h1 id="eval"><a href="#eval" class="header-anchor">#</a> eval</h1> <ul><li>eval() 是整个 ECMAScript语言中最强大的一个方法，但也最危险(代码注入问题)</li> <li>在 eval() 中创建的任何变量或函数都不会被提升</li> <li>代替eval计算的方法 -&gt;&gt;</li></ul> <h1 id="数据类型"><a href="#数据类型" class="header-anchor">#</a> 数据类型</h1> <ul><li>Undefined</li> <li>Null</li> <li>Boolean</li> <li>String</li> <li>Number</li> <li>Symbol</li> <li>Object</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 数据类型</span>
<span class="token constant">JS</span>中基本类型按值传递，
但数组与对象是按共享传递的。

<span class="token comment">// 布尔值</span>
True 和 False都不是 Boolean 值，只是标识符

<span class="token comment">// 判定为false</span>
<span class="token keyword">if</span><span class="token punctuation">(</span><span class="token keyword">null</span> <span class="token operator">&amp;&amp;</span> <span class="token keyword">undefined</span> <span class="token operator">&amp;&amp;</span> <span class="token string">''</span> <span class="token operator">&amp;&amp;</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>

<span class="token punctuation">}</span>

<span class="token comment">//  Undefined 和 Null 的区别</span>
<span class="token keyword">typeof</span> <span class="token keyword">undefined</span> <span class="token comment">// undefined</span>
<span class="token keyword">typeof</span> <span class="token keyword">null</span> <span class="token comment">// object 一个空对象引用</span>
<span class="token keyword">null</span> <span class="token operator">===</span> <span class="token keyword">undefined</span> <span class="token comment">// false</span>
<span class="token keyword">null</span> <span class="token operator">==</span> <span class="token keyword">undefined</span> <span class="token comment">// true 因为undefined值是派生自null的</span>


<span class="token comment">// instanceof Array 这种方式</span>
只适用于与数组初始化在相同上下文环境

对象只有被定义才有可能为 <span class="token keyword">null</span><span class="token punctuation">,</span> 否则为 <span class="token keyword">undefined</span>。因此想测试对象是否存在
<span class="token keyword">if</span> <span class="token punctuation">(</span>myObj <span class="token operator">!==</span> <span class="token keyword">null</span> <span class="token operator">&amp;&amp;</span> <span class="token keyword">typeof</span> myObj <span class="token operator">!==</span> <span class="token string">&quot;undefined&quot;</span><span class="token punctuation">)</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token keyword">typeof</span> myObj <span class="token operator">!==</span> <span class="token string">&quot;undefined&quot;</span> <span class="token operator">&amp;&amp;</span> myObj <span class="token operator">!==</span> <span class="token keyword">null</span><span class="token punctuation">)</span> <span class="token comment">// better</span>


<span class="token comment">// 数字类型</span>
<span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token number">0.1</span><span class="token punctuation">,</span> y <span class="token operator">=</span> <span class="token number">0.2</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> z <span class="token operator">=</span> x <span class="token operator">+</span> y<span class="token punctuation">;</span>
z <span class="token operator">==</span> <span class="token number">0.3</span> <span class="token comment">// false</span>
z <span class="token operator">=</span> <span class="token punctuation">(</span>x <span class="token operator">*</span> <span class="token number">10</span> <span class="token operator">+</span> y <span class="token operator">*</span> <span class="token number">10</span><span class="token punctuation">)</span> <span class="token operator">/</span> <span class="token number">10</span><span class="token punctuation">;</span> <span class="token comment">// z 的结果为 0.3</span>
<span class="token comment">// 浮点数值的最高精度是 17 位小数，</span>
<span class="token comment">// 但在进行算术计算时其精确度远远不如整数,</span>
<span class="token comment">// 这是使用基于IEEE754 数值的浮点计算的通病</span>

<span class="token comment">// 科学（指数）计数法</span>
<span class="token keyword">var</span> y<span class="token operator">=</span><span class="token number">123e5</span><span class="token punctuation">;</span> <span class="token comment">// 12300000</span>
<span class="token keyword">var</span> z<span class="token operator">=</span><span class="token number">123e-5</span><span class="token punctuation">;</span> <span class="token comment">// 0.00123</span>

<span class="token comment">// 判断这个数字是不是有穷</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> Number<span class="token punctuation">.</span><span class="token constant">MAX_VALUE</span> <span class="token operator">+</span> Number<span class="token punctuation">.</span><span class="token constant">MAX_VALUE</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isFinite</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span><span class="token number">NaN</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false（10 是一个数值）</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span><span class="token string">&quot;10&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false（可以被转换成数值 10）</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span><span class="token string">&quot;blue&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true（不能转换成数值）</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false（可以被转换成数值 1）</span>

<span class="token comment">// 数值转化</span>
<span class="token keyword">var</span> num1 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;1234blue&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 1234</span>
<span class="token keyword">var</span> num2 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NaN</span>
<span class="token comment">// var num3 = parseInt(&quot;0xA&quot;); // 10（十六进制数）</span>
<span class="token keyword">var</span> num1 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;AF&quot;</span><span class="token punctuation">,</span> <span class="token number">16</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//175 指定</span>
<span class="token keyword">var</span> num2 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;AF&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//NaN</span>
<span class="token keyword">var</span> num4 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token number">22.5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 22</span>
<span class="token keyword">var</span> num5 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;070&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 56（八进制数）</span>
<span class="token comment">// ECMAScript 5 JavaScript 引擎中， parseInt() 已经不具有解析八进制值的能力，因此前导的零会被认为无效</span>
<span class="token keyword">var</span> num6 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;70&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 70（十进制数）</span>
<span class="token keyword">var</span> num7 <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token string">&quot;0xf&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 15（十六进制数</span>
<span class="token keyword">var</span> num1 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;1234blue&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//1234 （整数）</span>
<span class="token keyword">var</span> num2 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;0xA&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//0</span>
<span class="token keyword">var</span> num3 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;22.5&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//22.5</span>
<span class="token keyword">var</span> num4 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;22.34.5&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//22.34</span>
<span class="token keyword">var</span> num5 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;0908.5&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//908.5</span>
<span class="token keyword">var</span> num6 <span class="token operator">=</span> <span class="token function">parseFloat</span><span class="token punctuation">(</span><span class="token string">&quot;3.125e7&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//31250000</span>
</code></pre></div><h1 id="生命周期"><a href="#生命周期" class="header-anchor">#</a> 生命周期</h1> <div class="language-js extra-class"><pre class="language-js"><code>局部变量出函数即死
全局变量是window对象<span class="token punctuation">,</span>在页面关闭后才被删除

<span class="token comment">// 注意</span>
<span class="token number">1.</span><span class="token operator">/</span><span class="token constant">JS</span>函数内的<span class="token keyword">for</span>生命域并没有像Java一样实现块级作用域
<span class="token number">2.</span><span class="token operator">/</span>函数内如果赋值给尚未声明过的变量，那么这个变量就会变成全局变量

<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">var</span> color <span class="token operator">=</span> <span class="token string">&quot;blue&quot;</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>color<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;blue&quot;</span>

<span class="token keyword">function</span> <span class="token function">showScope</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    scope <span class="token operator">=</span> <span class="token string">&quot;local&quot;</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> scope<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
scope <span class="token operator">=</span> <span class="token string">&quot;global&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>scope<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot;global&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">showScope</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// local</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>scope<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot;local&quot;</span>

<span class="token comment">// 闭包</span>
<span class="token punctuation">(</span><span class="token keyword">function</span> <span class="token function">hello</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">10</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token punctuation">}</span>
    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 10</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><hr> <h1 id="string"><a href="#string" class="header-anchor">#</a> String</h1> <ul><li><p>API</p> <ul><li>charAt() charCodeAt() fromCharCode()</li> <li>indexOf() lastIndexOf()</li> <li>concat() match() replace() search()</li> <li>slice() split()</li> <li>substr() substring()</li> <li>toLowerCase() toUpperCase()</li> <li>valueOf()</li> <li>localeCompare()</li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 3个s方法</span>
<span class="token keyword">var</span> stringValue <span class="token operator">=</span> <span class="token string">&quot;hello world&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo world&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo world&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo world&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo w&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo w&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo worl&quot;</span>

<span class="token comment">// 如果是负数</span>
<span class="token keyword">var</span> stringValue <span class="token operator">=</span> <span class="token string">&quot;hello world&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;rld&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;hello world&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;rld&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;lo w&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;hel&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;&quot; （空字符串）</span>

<span class="token comment">// charCodeAt</span>
<span class="token keyword">var</span> stringValue <span class="token operator">=</span> <span class="token string">&quot;hello world&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">.</span><span class="token function">charCodeAt</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 输出&quot;101&quot;</span>

<span class="token comment">// fromCharCode() 方法</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>String<span class="token punctuation">.</span><span class="token function">fromCharCode</span><span class="token punctuation">(</span><span class="token number">104</span><span class="token punctuation">,</span> <span class="token number">101</span><span class="token punctuation">,</span> <span class="token number">108</span><span class="token punctuation">,</span> <span class="token number">108</span><span class="token punctuation">,</span> <span class="token number">111</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;hello&quot;</span>

<span class="token comment">// concat</span>
<span class="token keyword">var</span> stringValue <span class="token operator">=</span> <span class="token string">&quot;hello &quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> stringValue<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span><span class="token string">&quot;world&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;!&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;hello world!&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>stringValue<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;hello&quot;</span>

<span class="token comment">// 操作基本类型值的语句一经执行完毕，</span>
<span class="token comment">// 就会立即销毁新创建的包装对象</span>
<span class="token keyword">var</span> s1 <span class="token operator">=</span> <span class="token string">&quot;some text&quot;</span><span class="token punctuation">;</span>
s1<span class="token punctuation">.</span>color <span class="token operator">=</span> <span class="token string">&quot;red&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>s1<span class="token punctuation">.</span>color<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//undefined</span>

<span class="token keyword">var</span> obj <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">(</span><span class="token string">&quot;some text&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>obj <span class="token keyword">instanceof</span> <span class="token class-name">String</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true</span>

<span class="token comment">// 使用 new 调用基本包装类型的构造函数</span>
<span class="token comment">// 与直接调用同名的转型函数是不一样的</span>
<span class="token keyword">var</span> value <span class="token operator">=</span> <span class="token string">&quot;25&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> number <span class="token operator">=</span> <span class="token function">Number</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//转型函数</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token keyword">typeof</span> number<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;number&quot;</span>
<span class="token keyword">var</span> obj <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Number</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//构造函数</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token keyword">typeof</span> obj<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;object&quot;</span>
</code></pre></div><hr> <h1 id="数组与对象"><a href="#数组与对象" class="header-anchor">#</a> 数组与对象</h1> <ul><li><p>数组API全解密</p> <ul><li><a href="https://juejin.im/entry/59ad2cacf265da248a7aa6cc" target="_blank" rel="noopener noreferrer">https://juejin.im/entry/59ad2cacf265da248a7aa6cc<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>函数</p> <ul><li>内置函数</li> <li>嵌套函数</li> <li>递归函数</li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// key-value类似</span>
<span class="token constant">PHP</span> 中的关联数组
Python 中的字典
<span class="token constant">C</span> 语言中的哈希表
Java 中的哈希映射
Ruby 和 Perl 中的哈希表

<span class="token keyword">var</span> arr <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">40</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">25</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// 数组的推荐声名方式</span>

<span class="token comment">// 不推荐</span>
<span class="token keyword">var</span> cars<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Array</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
cars<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">&quot;Saab&quot;</span><span class="token punctuation">;</span> cars<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">&quot;Volvo&quot;</span><span class="token punctuation">;</span> cars<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">&quot;BMW&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> cars<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Array</span><span class="token punctuation">(</span><span class="token string">&quot;Saab&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Volvo&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;BMW&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> cars<span class="token operator">=</span><span class="token punctuation">[</span><span class="token string">&quot;Saab&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Volvo&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;BMW&quot;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

<span class="token comment">// 注意</span>
使用名字作为索引，访问数组时，
JavaScript 会把数组重新定义为标准对象。
执行这样操作后，数组的方法及属性将不能再使用，否则会产生错误<span class="token operator">:</span>

<span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
person<span class="token punctuation">[</span><span class="token string">&quot;firstName&quot;</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">&quot;John&quot;</span><span class="token punctuation">;</span>
person<span class="token punctuation">[</span><span class="token string">&quot;lastName&quot;</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">&quot;Doe&quot;</span><span class="token punctuation">;</span>
person<span class="token punctuation">[</span><span class="token string">&quot;age&quot;</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">46</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> x <span class="token operator">=</span> person<span class="token punctuation">.</span>length<span class="token punctuation">;</span> <span class="token comment">// person.length 返回 0</span>
<span class="token keyword">var</span> y <span class="token operator">=</span> person<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// person[0] 返回 undefined</span>

<span class="token comment">// 对象</span>
<span class="token keyword">var</span> person<span class="token operator">=</span><span class="token punctuation">{</span>firstname<span class="token operator">:</span><span class="token string">&quot;John&quot;</span><span class="token punctuation">,</span> lastname<span class="token operator">:</span><span class="token string">&quot;Doe&quot;</span><span class="token punctuation">,</span> id<span class="token operator">:</span><span class="token number">5566</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
name <span class="token operator">=</span> person<span class="token punctuation">.</span>lastname<span class="token punctuation">;</span>
name <span class="token operator">=</span> person<span class="token punctuation">[</span><span class="token string">&quot;lastname&quot;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

<span class="token comment">// arguments</span>
<span class="token keyword">function</span> <span class="token function">sayHi</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello &quot;</span> <span class="token operator">+</span> arguments<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">+</span> <span class="token string">&quot;,&quot;</span> <span class="token operator">+</span> arguments<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>arguments<span class="token punctuation">.</span>length<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token keyword">function</span> <span class="token function">doAdd</span><span class="token punctuation">(</span><span class="token parameter">num1<span class="token punctuation">,</span> num2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">if</span><span class="token punctuation">(</span>arguments<span class="token punctuation">.</span>length <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num1 <span class="token operator">+</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>arguments<span class="token punctuation">.</span>length <span class="token operator">==</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>arguments<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">+</span> num2<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h1 id="array"><a href="#array" class="header-anchor">#</a> Array</h1> <ul><li>合并两个或三个数组 - concat()</li> <li>删除末尾 - pop()</li> <li>末尾新增 - push()</li> <li>删除开头元素 - shift()</li> <li>开头新增 - unshift()</li> <li>从一个数组中选择元素 - slice()</li> <li>在数组的第2位置添加一个元素 - splice()</li> <li>sort() reverse()</li> <li>数组 -&gt; 字符串 -toString()</li> <li>字符串 -&gt; 数组 - join()</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token class-name">Array</span><span class="token punctuation">.</span>prototype<span class="token punctuation">.</span><span class="token function-variable function">myUcase</span><span class="token operator">=</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span> coding<span class="token operator">...</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
</code></pre></div><h1 id="对象"><a href="#对象" class="header-anchor">#</a> 对象</h1> <ul><li>浅拷贝与深拷贝 @simple
<ul><li>JSON.parse(JSON.stringify()) -&gt; 不能处理函数</li> <li>@doc <a href="https://juejin.im/post/5b5dcf8351882519790c9a2e" target="_blank" rel="noopener noreferrer">https://juejin.im/post/5b5dcf8351882519790c9a2e<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">/*
手写递归方法
*/</span>
<span class="token comment">//定义检测数据类型的功能函数</span>
<span class="token keyword">function</span> <span class="token function">checkedType</span><span class="token punctuation">(</span><span class="token parameter">target</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> <span class="token class-name">Object</span><span class="token punctuation">.</span>prototype<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">.</span><span class="token function">call</span><span class="token punctuation">(</span>target<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">8</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">//实现深度克隆---对象/数组</span>
<span class="token keyword">function</span> <span class="token function">clone</span><span class="token punctuation">(</span><span class="token parameter">target</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token comment">//判断拷贝的数据类型</span>
    <span class="token comment">//初始化变量result 成为最终克隆的数据</span>
    <span class="token keyword">let</span> result<span class="token punctuation">,</span> targetType <span class="token operator">=</span> <span class="token function">checkedType</span><span class="token punctuation">(</span>target<span class="token punctuation">)</span>
    <span class="token keyword">if</span> <span class="token punctuation">(</span>targetType <span class="token operator">===</span> <span class="token string">'Object'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        result <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
    <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>targetType <span class="token operator">===</span> <span class="token string">'Array'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        result <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
    <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
        <span class="token keyword">return</span> target
    <span class="token punctuation">}</span>
    <span class="token comment">//遍历目标数据</span>
    <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token keyword">in</span> target<span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token comment">//获取遍历数据结构的每一项值。</span>
        <span class="token keyword">let</span> value <span class="token operator">=</span> target<span class="token punctuation">[</span>i<span class="token punctuation">]</span>
        <span class="token comment">//判断目标结构里的每一值是否存在对象/数组</span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token function">checkedType</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span> <span class="token operator">===</span> <span class="token string">'Object'</span> <span class="token operator">||</span>
            <span class="token function">checkedType</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span> <span class="token operator">===</span> <span class="token string">'Array'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">//对象/数组里嵌套了对象/数组</span>
            <span class="token comment">//继续遍历获取到value值</span>
            result<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">clone</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span>
        <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token comment">//获取到value值是基本的数据类型或者是函数。</span>
            result<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">=</span> value<span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
    <span class="token keyword">return</span> result
<span class="token punctuation">}</span>
</code></pre></div><ul><li>为什么说在 JS 中要避免使用 delete
<ul><li><a href="https://juejin.im/post/5d59fd7ff265da03f233cc4b" target="_blank" rel="noopener noreferrer">https://juejin.im/post/5d59fd7ff265da03f233cc4b<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">const</span> person <span class="token operator">=</span> <span class="token punctuation">{</span>
    name<span class="token operator">:</span> <span class="token string">'sudada'</span><span class="token punctuation">,</span>
    gender<span class="token operator">:</span> <span class="token string">'female'</span>
<span class="token punctuation">}</span>

<span class="token number">1.</span> 最有效的方式，应该是将不需要的属性设置为 <span class="token keyword">undefined</span>
person<span class="token punctuation">.</span>name <span class="token operator">=</span> <span class="token keyword">undefined</span> 

<span class="token number">2.</span> omit
<span class="token keyword">const</span> <span class="token function-variable function">omit</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">prop<span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token punctuation">[</span>prop<span class="token punctuation">]</span><span class="token operator">:</span> _<span class="token punctuation">,</span> <span class="token operator">...</span>rest <span class="token punctuation">}</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> rest<span class="token punctuation">;</span>
<span class="token keyword">const</span> newObj <span class="token operator">=</span> <span class="token function">omit</span><span class="token punctuation">(</span><span class="token string">'name'</span><span class="token punctuation">,</span> person<span class="token punctuation">)</span><span class="token punctuation">;</span> 

<span class="token number">3.</span> 使用 Map 来代替 object
<span class="token keyword">let</span> map <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Map</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token keyword">let</span> obj <span class="token operator">=</span> <span class="token punctuation">{</span> a<span class="token operator">:</span> <span class="token number">1</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token comment">// 执行</span>
<span class="token keyword">delete</span> obj<span class="token punctuation">.</span>a<span class="token punctuation">;</span>
map<span class="token punctuation">.</span><span class="token function">delete</span><span class="token punctuation">(</span><span class="token string">'a'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h1 id="object"><a href="#object" class="header-anchor">#</a> Object</h1> <div class="language-js extra-class"><pre class="language-js"><code>constructor
hasOwnProperty
<span class="token function">isPrototypeOf</span><span class="token punctuation">(</span>object<span class="token punctuation">)</span> ：用于检查传入的对象是否是传入对象的原型
<span class="token function">propertyIsEnumerable</span><span class="token punctuation">(</span>propertyName<span class="token punctuation">)</span> ：用于检查给定的属性是否能够使用 <span class="token keyword">for</span><span class="token operator">-</span><span class="token keyword">in</span> 语句来枚举


<span class="token keyword">var</span> s1 <span class="token operator">=</span> <span class="token string">&quot;2&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> s2 <span class="token operator">=</span> <span class="token string">&quot;z&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> f <span class="token operator">=</span> <span class="token number">1.1</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> o <span class="token operator">=</span> <span class="token punctuation">{</span>
  <span class="token function-variable function">valueOf</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
s1<span class="token operator">++</span><span class="token punctuation">;</span> <span class="token comment">// 值变成数值 3</span>
s2<span class="token operator">++</span><span class="token punctuation">;</span> <span class="token comment">// 值变成 NaN</span>
b<span class="token operator">++</span><span class="token punctuation">;</span> <span class="token comment">// 值变成数值 1</span>
f<span class="token operator">--</span><span class="token punctuation">;</span> <span class="token comment">// 值变成 0.10000000000000009（由于浮点舍入错误所致）</span>
o<span class="token operator">--</span><span class="token punctuation">;</span> <span class="token comment">// 值变成数值-2</span>

<span class="token keyword">var</span> result <span class="token operator">=</span> <span class="token string">&quot;Brick&quot;</span> <span class="token operator">&lt;</span> <span class="token string">&quot;alphabet&quot;</span><span class="token punctuation">;</span> <span class="token comment">//true</span>
<span class="token keyword">var</span> result1 <span class="token operator">=</span> <span class="token number">NaN</span> <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
<span class="token keyword">var</span> result2 <span class="token operator">=</span> <span class="token number">NaN</span> <span class="token operator">&gt;=</span> <span class="token number">3</span><span class="token punctuation">;</span> <span class="token comment">//false</span>

<span class="token boolean">true</span> <span class="token operator">==</span> <span class="token number">2</span>  <span class="token comment">// false  </span>
<span class="token keyword">undefined</span> <span class="token operator">==</span> <span class="token number">0</span>  <span class="token comment">// false</span>
<span class="token number">NaN</span> <span class="token operator">==</span> <span class="token number">NaN</span>  <span class="token comment">// false  </span>
<span class="token keyword">null</span> <span class="token operator">==</span> <span class="token number">0</span>  <span class="token comment">// false</span>
<span class="token number">NaN</span> <span class="token operator">!=</span> <span class="token number">NaN</span>  <span class="token comment">// true  </span>
<span class="token string">&quot;5&quot;</span><span class="token operator">==</span><span class="token number">5</span>  <span class="token comment">// true</span>
<span class="token boolean">true</span> <span class="token operator">==</span> <span class="token number">1</span>  <span class="token comment">// true</span>

<span class="token comment">// 符号只是简化，不会带来性能的提升</span>
左移<span class="token operator">/</span>赋值（ <span class="token operator">&lt;&lt;=</span> ）
有符号右移<span class="token operator">/</span>赋值（ <span class="token operator">&gt;&gt;=</span> ）
无符号右移<span class="token operator">/</span>赋值（ <span class="token operator">&gt;&gt;&gt;=</span> ）

<span class="token keyword">var</span> num <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">8</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// num 的值为 0</span>
</code></pre></div><hr> <h1 id="函数"><a href="#函数" class="header-anchor">#</a> 函数</h1> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 变量复制不会相互影响</span>
<span class="token keyword">var</span> num1 <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> num2 <span class="token operator">=</span> num1<span class="token punctuation">;</span>

<span class="token comment">// 对象复制会相互影响</span>
<span class="token keyword">var</span> obj1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> obj2 <span class="token operator">=</span> obj1<span class="token punctuation">;</span>
obj1<span class="token punctuation">.</span>name <span class="token operator">=</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>obj2<span class="token punctuation">.</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;Nicholas&quot;</span>

<span class="token keyword">var</span> count <span class="token operator">=</span> <span class="token number">20</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> <span class="token function">addTen</span><span class="token punctuation">(</span>count<span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>count<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//20，没有变化</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//30</span>

<span class="token comment">// 对象是按值传递的</span>
<span class="token keyword">function</span> <span class="token function">setName</span><span class="token punctuation">(</span><span class="token parameter">obj</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    obj<span class="token punctuation">.</span>name <span class="token operator">=</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">setName</span><span class="token punctuation">(</span>person<span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>person<span class="token punctuation">.</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;Nicholas&quot;</span>

<span class="token comment">// 在函数内部修改了参数的值，但原始的引用仍然保持未变</span>
<span class="token keyword">function</span> <span class="token function">setName</span><span class="token punctuation">(</span><span class="token parameter">obj</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    obj<span class="token punctuation">.</span>name <span class="token operator">=</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">;</span>
    obj <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    obj<span class="token punctuation">.</span>name <span class="token operator">=</span> <span class="token string">&quot;Greg&quot;</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">setName</span><span class="token punctuation">(</span>person<span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>person<span class="token punctuation">.</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;Nicholas&quot;</span>
</code></pre></div><ul><li>尽可能避免使用 new 关键字</li> <li>因 为分号是用来分隔可执行的JavaScript语句的，函数并不是可执行语句，函数声明不以分号结束</li> <li>如果函数调用时设置了过多的参数，参数将无法被引用，因为无法找到对应的参数名,只能使用 arguments 对象来调用</li> <li>在 ECMAScript 5 中， prototype 属性是不可枚举的，因此使用 for-in 无法发现</li> <li>闭包 自执行</li> <li>建议为函数参数设置一个默认值</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">var</span> <span class="token function-variable function">add</span> <span class="token operator">=</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> a <span class="token operator">*</span> b <span class="token punctuation">}</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 12</span>


<span class="token keyword">var</span> myFunction <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Function</span><span class="token punctuation">(</span><span class="token string">&quot;a&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;b&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;return a * b&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>


<span class="token keyword">function</span> <span class="token function">argNum</span><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> arguments<span class="token punctuation">.</span>length<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">argNum</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 4</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token keyword">typeof</span> argNum<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// function</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span> argNum <span class="token operator">==</span> Object<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>myFunc<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// function myFunc(a, b) { return a * b; }</span>


<span class="token keyword">function</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token parameter">x<span class="token punctuation">,</span> y</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">if</span> <span class="token punctuation">(</span>y <span class="token operator">===</span> <span class="token keyword">undefined</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> y <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>
    <span class="token comment">// y = y || 0;</span>
<span class="token punctuation">}</span>


<span class="token keyword">function</span> <span class="token function">sum</span><span class="token punctuation">(</span><span class="token parameter">num1<span class="token punctuation">,</span> num2</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token keyword">return</span> num1 <span class="token operator">+</span> num2<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">alert</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//20</span>
<span class="token keyword">var</span> anotherSum <span class="token operator">=</span> sum<span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span><span class="token function">anotherSum</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//20</span>
sum <span class="token operator">=</span> <span class="token keyword">null</span><span class="token punctuation">;</span> <span class="token comment">// 仅切断sum与函数的联系</span>
<span class="token function">alert</span><span class="token punctuation">(</span><span class="token function">anotherSum</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//20</span>


<span class="token comment">// 作为值的函数</span>
<span class="token keyword">function</span> <span class="token function">add10</span><span class="token punctuation">(</span><span class="token parameter">num</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword">return</span> num <span class="token operator">+</span> <span class="token number">10</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> result1 <span class="token operator">=</span> <span class="token function">callSomeFunction</span><span class="token punctuation">(</span>add10<span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span>result1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//20</span>
<span class="token keyword">function</span> <span class="token function">getGreeting</span><span class="token punctuation">(</span><span class="token parameter">name</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token string">&quot;Hello, &quot;</span> <span class="token operator">+</span> name<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> result2 <span class="token operator">=</span> <span class="token function">callSomeFunction</span><span class="token punctuation">(</span>getGreeting<span class="token punctuation">,</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span>result2<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;Hello, Nicholas&quot;</span>

<span class="token comment">// 从一个函数返回另一个函数</span>
<span class="token keyword">function</span> <span class="token function">createComparisonFunction</span><span class="token punctuation">(</span><span class="token parameter">propertyName</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">object1<span class="token punctuation">,</span> object2</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
  <span class="token keyword">var</span> value1 <span class="token operator">=</span> object1<span class="token punctuation">[</span>propertyName<span class="token punctuation">]</span><span class="token punctuation">;</span>
  <span class="token keyword">var</span> value2 <span class="token operator">=</span> object2<span class="token punctuation">[</span>propertyName<span class="token punctuation">]</span><span class="token punctuation">;</span>
  <span class="token keyword">if</span> <span class="token punctuation">(</span>value1 <span class="token operator">&lt;</span> value2<span class="token punctuation">)</span><span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>value1 <span class="token operator">&gt;</span> value2<span class="token punctuation">)</span><span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token number">1</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token keyword">var</span> data <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>name<span class="token operator">:</span> <span class="token string">&quot;Zachary&quot;</span><span class="token punctuation">,</span> age<span class="token operator">:</span> <span class="token number">28</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>name<span class="token operator">:</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">,</span> age<span class="token operator">:</span> <span class="token number">29</span><span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
data<span class="token punctuation">.</span><span class="token function">sort</span><span class="token punctuation">(</span><span class="token function">createComparisonFunction</span><span class="token punctuation">(</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span>data<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Nicholas</span>
data<span class="token punctuation">.</span><span class="token function">sort</span><span class="token punctuation">(</span><span class="token function">createComparisonFunction</span><span class="token punctuation">(</span><span class="token string">&quot;age&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span>data<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Zachary</span>

<span class="token comment">// 消除阶乘的紧耦合</span>
<span class="token keyword">function</span> <span class="token function">factorial</span><span class="token punctuation">(</span><span class="token parameter">num</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token keyword">if</span> <span class="token punctuation">(</span>num <span class="token operator">&lt;=</span><span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token number">1</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
        <span class="token keyword">return</span> num <span class="token operator">*</span> arguments<span class="token punctuation">.</span><span class="token function">callee</span><span class="token punctuation">(</span>num<span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token keyword">var</span> trueFactorial <span class="token operator">=</span> factorial<span class="token punctuation">;</span>
<span class="token function-variable function">factorial</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span><span class="token function">trueFactorial</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 120</span>
<span class="token function">alert</span><span class="token punctuation">(</span><span class="token function">factorial</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 0</span>

<span class="token comment">// caller</span>
<span class="token keyword">function</span> <span class="token function">outer</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token function">inner</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">function</span> <span class="token function">inner</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token function">alert</span><span class="token punctuation">(</span>arguments<span class="token punctuation">.</span>callee<span class="token punctuation">.</span>caller<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">outer</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">// 传递参数并非 apply() 和 call() 真正的用武之地；</span>
<span class="token comment">// 它们真正强大的地方是能够扩充函数赖以运行的作用域。</span>
window<span class="token punctuation">.</span>color <span class="token operator">=</span> <span class="token string">&quot;red&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> o <span class="token operator">=</span> <span class="token punctuation">{</span> color<span class="token operator">:</span> <span class="token string">&quot;blue&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function">sayColor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token function">alert</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>color<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token function">sayColor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//red</span>
<span class="token function">sayColor</span><span class="token punctuation">.</span><span class="token function">call</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//red</span>
<span class="token function">sayColor</span><span class="token punctuation">.</span><span class="token function">call</span><span class="token punctuation">(</span>window<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//red</span>
<span class="token function">sayColor</span><span class="token punctuation">.</span><span class="token function">call</span><span class="token punctuation">(</span>o<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//blue</span>

<span class="token comment">// bind方法</span>
window<span class="token punctuation">.</span>color <span class="token operator">=</span> <span class="token string">&quot;red&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> o <span class="token operator">=</span> <span class="token punctuation">{</span> color<span class="token operator">:</span> <span class="token string">&quot;blue&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">function</span> <span class="token function">sayColor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token function">alert</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>color<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> objectSayColor <span class="token operator">=</span> <span class="token function">sayColor</span><span class="token punctuation">.</span><span class="token function">bind</span><span class="token punctuation">(</span>o<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">objectSayColor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//blue</span>
</code></pre></div><h1 id="函数提升"><a href="#函数提升" class="header-anchor">#</a> 函数提升</h1> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 会报错</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> <span class="token function-variable function">sum</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">num1<span class="token punctuation">,</span> num2</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token keyword">return</span> num1 <span class="token operator">+</span> num2<span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
</code></pre></div><h1 id="函数调用"><a href="#函数调用" class="header-anchor">#</a> 函数调用</h1> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">this</span> 是保留关键字，不能修改 <span class="token keyword">this</span> 的值

<span class="token constant">JS</span>有<span class="token number">4</span> 种函数调用方式
常用的， 可能造成全局变量的冲突

<span class="token comment">// 使用windows对象可能导致崩溃</span>
<span class="token keyword">function</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> a <span class="token operator">*</span> b<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
window<span class="token punctuation">.</span><span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 20</span>

<span class="token keyword">function</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 返回 window 对象</span>


<span class="token comment">// 函数作为对象方法调用</span>
  <span class="token keyword">var</span> myObject <span class="token operator">=</span> <span class="token punctuation">{</span>
      firstName<span class="token operator">:</span><span class="token string">&quot;John&quot;</span><span class="token punctuation">,</span>
      lastName<span class="token operator">:</span> <span class="token string">&quot;Doe&quot;</span><span class="token punctuation">,</span>
      <span class="token function-variable function">fullName</span><span class="token operator">:</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
          <span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span>firstName <span class="token operator">+</span> <span class="token string">&quot; &quot;</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span>lastName<span class="token punctuation">;</span>
          <span class="token comment">// return this;  // 返回[object object] 所有者对象</span>
      <span class="token punctuation">}</span>
  <span class="token punctuation">}</span>
  myObject<span class="token punctuation">.</span><span class="token function">fullName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//  &quot;John Doe&quot;</span>

<span class="token comment">// 使用构造函数调用函数</span>
  <span class="token keyword">function</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token parameter">arg1<span class="token punctuation">,</span> arg2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">this</span><span class="token punctuation">.</span>firstName <span class="token operator">=</span> arg1<span class="token punctuation">;</span>
      <span class="token keyword">this</span><span class="token punctuation">.</span>lastName <span class="token operator">=</span> arg2<span class="token punctuation">;</span>
  <span class="token punctuation">}</span>

  <span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">myFunction</span><span class="token punctuation">(</span><span class="token string">&quot;John&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;Doe&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  x<span class="token punctuation">.</span>firstName<span class="token punctuation">;</span>

 <span class="token comment">// 作为函数方法调用函数</span>

<span class="token comment">// call 和 apply是预定义的函数方法</span>
 两个方法的第一个参数必须是对象本身。
通过 <span class="token function">call</span><span class="token punctuation">(</span><span class="token punctuation">)</span> 或 <span class="token function">apply</span><span class="token punctuation">(</span><span class="token punctuation">)</span> 方法你可以设置 <span class="token keyword">this</span> 的值<span class="token punctuation">,</span>
且作为已存在对象的新方法调用

<span class="token keyword">function</span> <span class="token function">mul</span><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> a <span class="token operator">*</span> b<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
myArr <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span> <span class="token function">mul</span><span class="token punctuation">.</span><span class="token function">apply</span><span class="token punctuation">(</span>Object<span class="token punctuation">,</span> myArr<span class="token punctuation">)</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 20</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span> <span class="token function">mul</span><span class="token punctuation">.</span><span class="token function">call</span><span class="token punctuation">(</span>Object<span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 6</span>
</code></pre></div><h1 id="函数闭包"><a href="#函数闭包" class="header-anchor">#</a> 函数闭包</h1> <div class="language-js extra-class"><pre class="language-js"><code>全局和局部变量即便名称相同，
它们也是两个不同的变量。

修改其中一个，不会影响另一个的值。

<span class="token keyword">var</span> a <span class="token operator">=</span> <span class="token number">3</span><span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function">mul</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">var</span> a <span class="token operator">=</span> <span class="token number">4</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> a <span class="token operator">*</span> a<span class="token punctuation">;</span> <span class="token comment">// 16</span>
<span class="token punctuation">}</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>mul<span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">mul</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 16</span>

<span class="token comment">// 计数器实现 - 可以使用全局变量</span>
使用内嵌函数，怎么解决 计数器困境

<span class="token keyword">function</span> <span class="token function">add</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">var</span> counter <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">function</span> <span class="token function">plus</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> counter <span class="token operator">+=</span> <span class="token number">1</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>
    <span class="token function">plus</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 访问父元素</span>
    <span class="token keyword">return</span> counter<span class="token punctuation">;</span>
<span class="token punctuation">}</span>  

如何在外部访问 <span class="token function">plus</span><span class="token punctuation">(</span><span class="token punctuation">)</span> 函数，确保 counter <span class="token operator">=</span> <span class="token number">0</span> 只执行一次。
函数闭包使得函数拥有私有变量变成可能。
计数器受匿名函数的作用域保护，只能通过 add 方法修改。

<span class="token keyword">var</span> add <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">var</span> counter <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> counter <span class="token operator">+=</span> <span class="token number">1</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 1</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 2</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 3</span>
</code></pre></div><h1 id="闭包与this与执行上下文"><a href="#闭包与this与执行上下文" class="header-anchor">#</a> 闭包与this与执行上下文</h1> <ul><li>深入理解JavaScript中的作用域和上下文
<ul><li>@doc <a href="https://www.css88.com/archives/7255" target="_blank" rel="noopener noreferrer">https://www.css88.com/archives/7255<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li>call apply bind的区别 @diff
<ul><li>call()的性能要比apply()稍快</li> <li>.bind() 本身不调用该函数，它只能用于在调用函数之前绑定上下文和其他参数的值</li></ul></li></ul> <hr> <h1 id="引用类型"><a href="#引用类型" class="header-anchor">#</a> 引用类型</h1> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token punctuation">{</span>
    <span class="token string">&quot;name&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">,</span>
    age <span class="token operator">:</span> <span class="token number">29</span><span class="token punctuation">,</span>
    <span class="token number">5</span> <span class="token operator">:</span> <span class="token boolean">true</span> <span class="token comment">// 自动转成字符串</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>

person<span class="token punctuation">[</span><span class="token string">&quot;first name&quot;</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">;</span> <span class="token comment">// 方括号的好处</span>

<span class="token comment">// toString toLocalString</span>
<span class="token keyword">var</span> person1 <span class="token operator">=</span> <span class="token punctuation">{</span>
  <span class="token function-variable function">toLocaleString</span> <span class="token operator">:</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> <span class="token string">&quot;Nikolaos&quot;</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span><span class="token punctuation">,</span>
  <span class="token function-variable function">toString</span> <span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> <span class="token string">&quot;Nicholas&quot;</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> person2 <span class="token operator">=</span> <span class="token punctuation">{</span>
  <span class="token function-variable function">toLocaleString</span> <span class="token operator">:</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> <span class="token string">&quot;Grigorios&quot;</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span><span class="token punctuation">,</span>
  <span class="token function-variable function">toString</span> <span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> <span class="token string">&quot;Greg&quot;</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>

<span class="token keyword">var</span> people <span class="token operator">=</span> <span class="token punctuation">[</span>person1<span class="token punctuation">,</span> person2<span class="token punctuation">]</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>people<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Nicholas,Greg</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>people<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Nicholas,Greg</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>people<span class="token punctuation">.</span><span class="token function">toLocaleString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Nikolaos,Grigorios</span>

<span class="token keyword">var</span> colors <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">&quot;red&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;green&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;blue&quot;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> removed <span class="token operator">=</span> colors<span class="token punctuation">.</span><span class="token function">splice</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 删除第一项</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>colors<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// green,blue</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>removed<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// red，返回的数组中只包含一项</span>

removed <span class="token operator">=</span> colors<span class="token punctuation">.</span><span class="token function">splice</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">&quot;yellow&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;orange&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 从位置 1 开始插入两项</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>colors<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// green,yellow,orange,blue</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>removed<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 返回的是一个空数组</span>

removed <span class="token operator">=</span> colors<span class="token punctuation">.</span><span class="token function">splice</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">&quot;red&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;purple&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 插入两项，删除一项</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>colors<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// green,red,purple,orange,blue</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>removed<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// yellow，返回的数组中只包含一项</span>

<span class="token keyword">var</span> values <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> sum <span class="token operator">=</span> values<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">prev<span class="token punctuation">,</span> cur<span class="token punctuation">,</span> index<span class="token punctuation">,</span> array</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
    <span class="token keyword">return</span> prev <span class="token operator">+</span> cur<span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>sum<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//15</span>
</code></pre></div><h1 id="math"><a href="#math" class="header-anchor">#</a> Math</h1> <ul><li>var y = Math.sqrt(16);</li> <li>Math.E Math.PI</li> <li>Math.SQRT2 Math.SQRT1_2</li> <li>Math.LN2 Math.LN10</li> <li>Math.LOG2E Math.LOG10E</li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// random方法</span>
<span class="token keyword">function</span> <span class="token function">selectFrom</span><span class="token punctuation">(</span><span class="token parameter">lowerValue<span class="token punctuation">,</span> upperValue</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">var</span> choices <span class="token operator">=</span> upperValue <span class="token operator">-</span> lowerValue <span class="token operator">+</span> <span class="token number">1</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">*</span> choices <span class="token operator">+</span> lowerValue<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> num <span class="token operator">=</span> <span class="token function">selectFrom</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>num<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 介于 2 和 10 之间（包括 2 和 10）的一个数值</span>
</code></pre></div><h1 id="date"><a href="#date" class="header-anchor">#</a> Date</h1> <ul><li><p>API</p> <ul><li><p>getFullYear() 获取年份</p></li> <li><p>getTime() 返回从 1970 年 1 月 1 日至今的毫秒数</p></li> <li><p>setFullYear() 设置具体的日期</p></li> <li><p>toUTCString() 将当日的日期（根据 UTC）转换为字符串</p></li> <li><p>使用getDay() 和数组来显示星期，而不仅仅是数字。</p></li> <li><p>简化的两种方法</p> <ul><li>Date.parse()</li> <li>Date.UTC()</li></ul></li> <li><p>toDateString() ----以特定于实现的格式显示星期几、月、日和年；</p></li> <li><p>toTimeString() ----以特定于实现的格式显示时、分、秒和时区；</p></li> <li><p>toLocaleDateString() ----以特定于地区的格式显示星期几、月、日和年；</p></li> <li><p>toLocaleTimeString() ----以特定于实现的格式显示时、分、秒；</p></li> <li><p>toUTCString() ----以特定于实现的格式完整的 UTC 日期。</p></li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">// 当前日期和时间</span>
<span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>milliseconds<span class="token punctuation">)</span> <span class="token comment">//返回从 1970 年 1 月 1 日至今的毫秒数</span>
<span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>dateString<span class="token punctuation">)</span>
<span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">,</span> hours<span class="token punctuation">,</span> minutes<span class="token punctuation">,</span> seconds<span class="token punctuation">,</span> milliseconds<span class="token punctuation">)</span>

<span class="token keyword">var</span> today <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> d1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token string">&quot;October 13, 1975 11:13:00&quot;</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> d2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token number">79</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">,</span><span class="token number">24</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> d3 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token number">79</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">,</span><span class="token number">24</span><span class="token punctuation">,</span><span class="token number">11</span><span class="token punctuation">,</span><span class="token number">33</span><span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">)</span>

<span class="token keyword">var</span> myDate<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
myDate<span class="token punctuation">.</span><span class="token function">setFullYear</span><span class="token punctuation">(</span><span class="token number">2010</span><span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
myDate<span class="token punctuation">.</span><span class="token function">setDate</span><span class="token punctuation">(</span>myDate<span class="token punctuation">.</span><span class="token function">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">// 比较</span>
<span class="token keyword">var</span> x<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
x<span class="token punctuation">.</span><span class="token function">setFullYear</span><span class="token punctuation">(</span><span class="token number">2100</span><span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> today <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token keyword">if</span> <span class="token punctuation">(</span>x<span class="token operator">&gt;</span>today<span class="token punctuation">)</span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;今天是2100年1月14日之前&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>
<span class="token keyword">else</span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;今天是2100年1月14日之后&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>

<span class="token comment">// 简化</span>
<span class="token comment">// var someDate = new Date(Date.parse(&quot;May 25, 2004&quot;));</span>
<span class="token keyword">var</span> someDate <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token string">&quot;May 25, 2004&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>someDate<span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">// GMT 时间 2000 年 1 月 1 日午夜零时</span>
<span class="token keyword">var</span> y2k <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span><span class="token number">2000</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">// GMT 时间 2005 年 5 月 5 日下午 5:55:55</span>
<span class="token keyword">var</span> allFives <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span><span class="token number">2005</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">17</span><span class="token punctuation">,</span> <span class="token number">55</span><span class="token punctuation">,</span> <span class="token number">55</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">//取得开始时间</span>
<span class="token keyword">var</span> start <span class="token operator">=</span> Date<span class="token punctuation">.</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// var start = +new Date(); // 另一种方法</span>
<span class="token comment">//调用函数</span>
<span class="token function">doSomething</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//取得停止时间</span>
<span class="token keyword">var</span> stop <span class="token operator">=</span> Date<span class="token punctuation">.</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
result <span class="token operator">=</span> stop – start<span class="token punctuation">;</span>
</code></pre></div><h1 id="boolean"><a href="#boolean" class="header-anchor">#</a> Boolean</h1> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">var</span> b1<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b1<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b3<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token string">&quot;&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b4<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token keyword">null</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b5<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token number">NaN</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b1<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b1<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token keyword">undefined</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> b6<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token string">&quot;false&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// true</span>
<span class="token keyword">var</span> b2<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// true, others are false</span>

<span class="token comment">// 布尔表达式中的所有对象都会被转换为 true</span>
<span class="token keyword">var</span> falseObject <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> falseObject <span class="token operator">&amp;&amp;</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true</span>

<span class="token keyword">var</span> falseValue <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
result <span class="token operator">=</span> falseValue <span class="token operator">&amp;&amp;</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
</code></pre></div><h1 id="regexp-资源"><a href="#regexp-资源" class="header-anchor">#</a> RegExp-资源</h1> <ul><li><p>正则表达式前端使用</p> <ul><li><a href="http://louiszhai.github.io/2016/06/13/regexp/" target="_blank" rel="noopener noreferrer">http://louiszhai.github.io/2016/06/13/regexp/<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>MDN手册-正则</p> <ul><li><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions" target="_blank" rel="noopener noreferrer">https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>regexp手册</p> <ul><li><a href="http://www.runoob.com/jsref/jsref-obj-regexp.html" target="_blank" rel="noopener noreferrer">http://www.runoob.com/jsref/jsref-obj-regexp.html<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>regex全符号</p> <ul><li><a href="http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html" target="_blank" rel="noopener noreferrer">http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>JavaScript正则表达式备忘单</p> <ul><li><a href="https://juejin.im/post/5c7496fdf265da2dda6957d2" target="_blank" rel="noopener noreferrer">https://juejin.im/post/5c7496fdf265da2dda6957d2<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li><p>符号</p></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// igm ,</span>
i 大小写不敏感
g全局匹配
m多行匹配

<span class="token punctuation">[</span>abc<span class="token punctuation">]</span>
<span class="token punctuation">[</span><span class="token number">0</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span>
<span class="token punctuation">(</span>x<span class="token operator">|</span>y<span class="token punctuation">)</span>
<span class="token operator">^</span>abc 除了abc以外
\b  \<span class="token constant">B</span> 单词边界
\d  \s 空白字符

\uxxxx 以十六进制数xxxx规定的Unicode字符
\<span class="token constant">D</span> \<span class="token constant">S</span> \<span class="token constant">W</span> 换大写就是相反的意思

<span class="token operator">?</span> 贪婪匹配和非贪婪匹配

分组组合符合反向引用符<span class="token operator">??</span>
<span class="token function">分组组合</span> <span class="token punctuation">(</span>pattern<span class="token punctuation">)</span>
      反向引用 \num
      非捕获匹配 <span class="token function">industry</span><span class="token punctuation">(</span><span class="token operator">?</span><span class="token operator">:</span>ylies<span class="token punctuation">)</span>
      正向<span class="token string">&quot;预测先行&quot;</span>匹配 <span class="token function">Windows</span><span class="token punctuation">(</span><span class="token operator">?</span><span class="token operator">=</span><span class="token constant">NT</span><span class="token operator">|</span><span class="token number">2000</span><span class="token punctuation">)</span>
      反向<span class="token string">&quot;预测先行&quot;</span>匹配 <span class="token function">Windows</span><span class="token punctuation">(</span><span class="token operator">?</span><span class="token operator">!</span><span class="token constant">NT</span><span class="token operator">|</span><span class="token number">2000</span><span class="token punctuation">)</span>
</code></pre></div><ul><li>量词</li></ul> <div class="language-js extra-class"><pre class="language-js"><code>n<span class="token operator">+</span> 至少一个
n<span class="token operator">*</span> 零个或多个 n<span class="token punctuation">,</span> 即 <span class="token operator">**</span>可选<span class="token operator">**</span>？？？
n<span class="token operator">?</span> 不超过一个n
</code></pre></div><ul><li><p>函数</p> <ul><li>replace()的第二个参数 http://www.w3school.com.cn/jsref/jsref_replace.asp</li></ul></li></ul> <div class="language-js extra-class"><pre class="language-js"><code>test 返回<span class="token boolean">true</span><span class="token operator">/</span><span class="token boolean">false</span>

exec 返回具体内容
match 返回数组
search 返回下标

replace
</code></pre></div><h1 id="regexp"><a href="#regexp" class="header-anchor">#</a> RegExp</h1> <ul><li><p>模式的局限性</p></li> <li><p>匹配字符串开始和结尾的 \A 和 \Z 锚</p></li> <li><p>向后查找（lookbehind）</p></li> <li><p>并集和交集类</p></li> <li><p>原子组（atomic grouping）</p></li> <li><p>Unicode 支持（单个字符除外，如 \uFFFF ）</p></li> <li><p>命名的捕获组</p></li> <li><p>s （single，单行）和 x （free-spacing，无间隔）匹配模式</p></li> <li><p>条件匹配</p></li> <li><p>正则表达式注释</p></li></ul> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 匹配第一个&quot;bat&quot;或&quot;cat&quot;，不区分大小写</span>
<span class="token keyword">var</span> pattern2 <span class="token operator">=</span> <span class="token regex">/[bc]at/i</span><span class="token punctuation">;</span>

<span class="token comment">// 匹配所有以&quot;at&quot;结尾的 3 个字符的组合，不区分大小写</span>
<span class="token keyword">var</span> pattern3 <span class="token operator">=</span> <span class="token regex">/.at/gi</span><span class="token punctuation">;</span>

<span class="token comment">// 匹配所有&quot;.at&quot;，不区分大小写</span>
<span class="token keyword">var</span> pattern4 <span class="token operator">=</span> <span class="token regex">/\.at/gi</span><span class="token punctuation">;</span>

<span class="token comment">// 创建</span>
<span class="token keyword">var</span> re <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">&quot;\\w+&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> re <span class="token operator">=</span> <span class="token regex">/\w+/</span><span class="token punctuation">;</span> <span class="token comment">// 转义字符</span>

<span class="token comment">// 示例1</span>
<span class="token keyword">var</span> str<span class="token operator">=</span><span class="token string">&quot;Is this all there is?&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> patt1<span class="token operator">=</span><span class="token regex">/is/gi</span><span class="token punctuation">;</span> <span class="token comment">// 全局查找 不区分大小写</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>str<span class="token punctuation">.</span><span class="token function">match</span><span class="token punctuation">(</span>patt1<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Is,is,is</span>

<span class="token comment">// 示例2 test方法</span>
<span class="token keyword">var</span> str <span class="token operator">=</span> <span class="token string">'runoob'</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> patt1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">'\\w'</span><span class="token punctuation">,</span> <span class="token string">'g'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 有转义作为正则表达式处理</span>
<span class="token keyword">var</span> patt2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">'\w'</span><span class="token punctuation">,</span> <span class="token string">'g'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 无转义作为字符串处理</span>
<span class="token keyword">var</span> patt3 <span class="token operator">=</span><span class="token regex">/\w+/g</span><span class="token punctuation">;</span> <span class="token comment">// 与 patt1 效果相同</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>patt1<span class="token punctuation">.</span><span class="token function">test</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// true</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>patt2<span class="token punctuation">.</span><span class="token function">test</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>patt3<span class="token punctuation">.</span><span class="token function">test</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// true</span>

<span class="token comment">// 示例3 exec方法</span>
<span class="token keyword">var</span> patt1<span class="token operator">=</span><span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">&quot;e&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 找到返回值是被找到的值。如果没有,返回 null</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>patt1<span class="token punctuation">.</span><span class="token function">exec</span><span class="token punctuation">(</span><span class="token string">&quot;The best things in life are free&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// e</span>

<span class="token comment">// RegExp 实例属性</span>
<span class="token keyword">var</span> pattern1 <span class="token operator">=</span> <span class="token regex">/\[bc\]at/i</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern1<span class="token punctuation">.</span>global<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern1<span class="token punctuation">.</span>ignoreCase<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern1<span class="token punctuation">.</span>multiline<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern1<span class="token punctuation">.</span>lastIndex<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//0</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern1<span class="token punctuation">.</span>source<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;\[bc\]at&quot;</span>

<span class="token keyword">var</span> pattern2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">&quot;\\[bc\\]at&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;i&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern2<span class="token punctuation">.</span>global<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern2<span class="token punctuation">.</span>ignoreCase<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//true</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern2<span class="token punctuation">.</span>multiline<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//false</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern2<span class="token punctuation">.</span>lastIndex<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//0</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>pattern2<span class="token punctuation">.</span>source<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//&quot;\[bc\]at&quot;</span>

<span class="token comment">// RegExp 实例方法</span>
<span class="token keyword">var</span> text <span class="token operator">=</span> <span class="token string">&quot;mom and dad and baby&quot;</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> pattern <span class="token operator">=</span> <span class="token regex">/mom( and dad( and baby)?)?/gi</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> matches <span class="token operator">=</span> pattern<span class="token punctuation">.</span><span class="token function">exec</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>matches<span class="token punctuation">.</span>index<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 0</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>matches<span class="token punctuation">.</span>input<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot;mom and dad and baby&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>matches<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot;mom and dad and baby&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>matches<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot; and dad and baby&quot;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>matches<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// &quot; and baby&quot;</span>
</code></pre></div><hr> <h1 id="参考"><a href="#参考" class="header-anchor">#</a> 参考</h1> <ul><li>js-stack-from-scratch @old
<ul><li><a href="https://github.com/verekia/js-stack-from-scratch" target="_blank" rel="noopener noreferrer">https://github.com/verekia/js-stack-from-scratch<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li>思维导图 @deprecated
<ul><li><a href="https://github.com/lidaguang1989/javascript-knowhow" target="_blank" rel="noopener noreferrer">https://github.com/lidaguang1989/javascript-knowhow<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li>web前端开发分享提升 @old
<ul><li><a href="http://www.cnblogs.com/jikey/p/3613082.html" target="_blank" rel="noopener noreferrer">http://www.cnblogs.com/jikey/p/3613082.html<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li> <li>jquery之家 前端教程 @simple
<ul><li><a href="http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/" target="_blank" rel="noopener noreferrer">http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
      ←
      <a href="/note/nav.4.ui-javascript/ch1-core-prototype/" class="prev router-link-active">
        README
      </a></span> <span class="next"><a href="/note/nav.4.ui-javascript/ch1-core-prototype/02-note-javascript-gao-ji-cheng-xu-she-ji-201203.html">
        [Note]JavaScript高级程序设计
      </a>
      →
    </span></p></div> </main></div><div class="global-ui"></div></div>
    <script src="/note/assets/js/app.0dd55c60.js" defer></script><script src="/note/assets/js/2.b5bc497d.js" defer></script><script src="/note/assets/js/641.c8cf064e.js" defer></script>
  </body>
</html>
